Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:33 02.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | 3 | 4 | >> (покажи всички)
Тема През програмата да чета данни от htm страницанови  
Автор Дokтopa (свободен)
Публикувано22.04.06 13:48



Трябва през програма, написана на Delphi 6, да:
1. прочета данни от страница htm формат, отворена например в IE на MS или в компонента в програмата;
2. въведа данни в полета, които се намират в тази страница.

Става въпрос за следното конкретно действие.
Има база с данни на пациенти на лекар и по ЕГН-то им трябва да се провери осигурителният им здравен статус към момента.
Страницата за проверка е в сайта на НОИ, на адрес http://healthinsurance.nssi.bg/report_healthhtm_15_out.asp. В нея има три
полета за попълване:
- Въведете ЕГН\ЛНЧ - въвеждат се символи, стойността на ЕГН-то;
- ЕГН \ ЛНЧ - радиобутони - избор, по подразбиране ЕГН;
- Моля, въведете символите: въвеждат се символите от картинката под полето.

Трябва да се направи следното:
1. да изпратя данни от програмата, които да попълнят поле ЕГН\ЛНЧ - стринг и да маркирам единият от двата радиобутона;
2. да прочета стойността на картинката със специални символи и да ги въведа в съответното поле.

Това нещо предполагам може да стане по два начина:
1. програмата чете външен екран (напр. от IE) и манипулира данните там;
2. в компонента (T)WebBrowser отварям страницата в екран на програмата и там манипулирам данните.

На потребителят е нужно да натисне бутон <Направи справката>.

Ако смятате, че това е доста сложно и изисква доста време за изпълнение съм готов, да заплатя за направената услуга.

Приемем предложения на адрес: comp-d@comp-d.biz.

Доктора Ви благодари предварително с най-голямо уважение и ви пожелава Весели празници.



Тема Два варианта Делфи, но един проблем :)нови [re: Дokтopa]  
Автор NikB (любопитен)
Публикувано23.04.06 10:23



Значи, ако не беше картинката: http://healthinsurance.nssi.bg/captcha/captcha.asp)
с цифрите - всичко щеше да е ОК

Метод Post, с параметри egn,typeEGN_pt,typeEGN_pt
мога да ти предложа начин със сокети (семпло и просто, с ХТТП) или с tWebBrowser.

Но картинката е проблем - не, че е много сложно, ама ще отиде ден-два, навярно.
Мога да ти изпратя пробна програмка (сорсове за Д5) на мейла, но ако обещаеш, ае ще постнеш една функция с решението тук (вкл картинката, без връзки с базата данни)

Договорихме ли се?

Редактирано от NikB на 23.04.06 10:46.



Тема Необработено примерче, семпла процедурка за ХТТПнови [re: Дokтopa]  
Автор NikB (любопитен)
Публикувано23.04.06 10:30



Необработено примерче, семпла процедурка за ХТТП.
Това подготвя текста, за да се изпрати по обикновен сокет, без tWebBrowser, но поддържа и Get и Post методите.
Има си и сесия, но тази екстра много зависи от съответния сайт


{}procedure TForm_ComPort.GetText;
var
xPar : string;
xHeader : string;
begin

xPar := ComboBoxPar.Text;
// xPar := Str_ToHTML( xPar);


xHeader := 'HTTP/1.1'+cCrLf+
'Host: '+sURL+cCrLf+
'Connection: Keep-Alive'+cCrLf;
if RadioGroupGetPost.ItemIndex=0 then begin
OutHTML := 'GET '+sFile;
if xPar<>'' then begin
OutHTML := OutHTML+'?'+Str_ToHTML( xPar)+cCrLf;
end;
OutHTML := OutHTML+' '+xHeader;
if EditSession.Text<>'' then begin
OutHTML := OutHTML +
'Cookie: PHPSESSID='+EditSession.Text+cCrLf;
end;
end else begin
if RadioGroupGetPost.ItemIndex=1 then begin
OutHTML := 'POST '+sFile+' '+xHeader+
'Content-Type: application/x-www-form-urlencoded'+cCrLf+
'Content-Length: '+IntToStr(length(xPar))+cCrLf;
if EditSession.Text<>'' then begin
OutHTML := OutHTML+
'Cookie: PHPSESSID='+EditSession.Text+cCrLf;
end;
if xPar<>'' then begin
OutHTML := OutHTML+
cCrLf+xPar;
end;
OutHTML := OutHTML+cCrLf;
end;
end;
OutHTML := OutHTML+cCrLf;
end;


Редактирано от NikB на 23.04.06 10:44.



Тема Re: Два варианта Делфи, но един проблем :)нови [re: NikB]  
Автор PecheniaМодератор (нема лабаво ;-)
Публикувано23.04.06 17:31



Ей туй дето ще отнеме 2-3 дена ми е интересно как ще го направиш Щото и да го направиш, ще сменят шрифта и мацаницата върху текста и ще хапнеш дървото. По-точно - ще го хапне тоя дето ти е платил.

чети и дишай по-леко


Тема Ако картинката пречинови [re: Pechenia]  
Автор Дokтopa (свободен)
Публикувано23.04.06 18:15



Здравейте, благодаря за отговорите и забележката.
Щом смятате, че четенето на тази картинка ще води евентуално някога до проблеми ПРАВИМ СЛЕДНОТО: не обработваме нейната стойност и клиентът е въвежда ръчно. Толкоз. Ако стане да работи на 100% - добре, и при най-малко съмнение - отпада за обработка.



Тема :) май не съм се изразил точно :)нови [re: Pechenia]  
Автор NikB (любопитен)
Публикувано23.04.06 18:57



:) май не съм се изразил точно :), ако от някъде се разбира, че аз ще се занимавам с картинката.
Впрочем, доста е тъпо ЗОК да не дава възможност за автоматична проверка, ако трябва и с пароли да бъде.
Както и да е - идеята на човека по принцип е доста добра, а и твоята забележка е много точна.

Весели празници!



Тема Re: Ако картинката пречинови [re: Дokтopa]  
Автор PecheniaМодератор (нема лабаво ;-)
Публикувано23.04.06 19:15



Ако каптчата (картинката) с кода не пречи, останалите неща са твърде прости.
Слага се един WebBrowser. С метода Navigate (url) му се показва къде да отиде. На събитието OnDocumentComplete се поставят две събития според URL
1) Когато сме повикали страницата за въвеждане на данните.
Самите данни (ЕГН) се попълват чрез DOM на IE, например:
WebBrowser1.OleObject.document.all.item ('egn').value:='1111111111'
Изпащането на данните - чрез метода submit на формата:
WebBrowser1.OleObject.document.FrmReportHealth.submit
2) Когато сме получили страницата с резултата може да анализираме страницата като прост (plain) текст:
WebBrowser1.OleObject.document.body.innerText
Самата каптча е е доволно трудно да се хване, макар че има известен шанс поради некадърното й изпълнение. Ето и алгоритъм за желаещите да се занимават:
1) Забележете че се ползва един шрифт. Изолират се съответните ползвани символи и се подготвят за OCR
2) Мацаниците върху кода се генерират със случаен, но винаги еднакъв цвят, докато самия код е черен. Така че е достатъчно картинката да се вземе и да се изолира само черния цвят в нея
3) Линийките на мацаницата са с дебелина 1 пиксел, а шрифта на кода е векторен и непрекъснат. Т.е. може да се възстановят белите пиксели в черни ако имат 2 съседни черни пиксела
4) След възстановката се прави OCR на кода, попълва се и се изпраща

чети и дишай по-леко


Тема Re: През програмата да чета данни от htm страницанови [re: Дokтopa]  
Автор Timo (Mi_Az)
Публикувано23.04.06 20:53



Iztegli si tazi programka i vij dolu-gore njakakvo re6enie no kakto razbiram ne e nai dobroto i ne e to4no tova koeto tarsi6, no programkata si ja biva ;-).
Zabelejkata na moderatora e mnogo to4na 4e njama nikakav smisal da se zanimava6 s kartinkata no vij edno re6enie dolu gore na problema, 6te ti vleze v polza ako kam tvojata programka ima ne6to drugo i izpolzva6 zaedno s tova strani4kata za zdravnite osigurovki
Ako vsepak nameri6 re6enie, moljate spodeli v foruma - 6te ni e interesno
Uspeh
Napravi si registracija v stranicata na m-tel, 6tot 6te ti iska

Kato mi se doraboti, sjadam da si po4ina dokato mi mine


Тема Re: През програмата да чета данни от htm страницанови [re: Дokтopa]  
Автор Timo (Mi_Az)
Публикувано23.04.06 21:10



Izvinjavam se:


Весели празници

Kato mi se doraboti, sjadam da si po4ina dokato mi mine

Тема Re: През програмата да чета данни от htm страницанови [re: Дokтopa]  
АвторИвaнчo (Нерегистриран)
Публикувано24.04.06 09:55



Не си губи времето.
Другата седмица или месец, поради някаква причина, ще променя страницата за здравно-осигурителния статус (а това се прави регулярно, особенно когато се открие, че има пропуски в сигурността, и някой отново се опитва да извлича данни), и тогава "умираш" . Идеята за въвеждане на код-а от картинката, бе за да се прекрати "източването" на данни, от разни "хитреци". Не са малко тези опити . Все пак тази страница е за даване на справка към осигурените лица, да проверят какъв е статуса на здравно-осигурителните им вноски, дали работодотели и осигурители коректно изпълняват задължението си, и ако не - да съдействат за събираемостта им. Не бе предназначена за ползване в "пакетен" режим и от лекари - те могат да си вземат данните от ЗОК, където ежеседмично, ако не се лъжа, се репликират от НОИ. Но е друга тема какво ги прави ЗОК тези данни. Предложението ми е да звънниш един телефон в НОИ, Главна Дирекция Информационно обслужване и технологии, хората са отзивчиви, и да помолиш за предоставяне на интерфейс - мисля, че има разработен такъв на XML. Е, ще има някакви условия от тях, за ползването на данните, но поне така ще бъдеш сигурен, че програмния ти продукт, ще работи безпроблемно, що се отнася до извличане на данните..




Страници по тази тема: 1 | 2 | 3 | 4 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.