Вот писал давно уже код... но там я юзал регулярку. PHP: if Pos('captcha_sid', result) <> 0 then begin RegExp.Expression := '"captcha_sid":"(.+?)","'; RegExp.Exec(result); captcha_sid := RegExp.Match[1]; //showmessage(captcha_sid); fr.log.Lines.Add('-Получение капчи'); (* Грузим капчу *) fr.http.Get('http://vkontakte.ru/captcha.php?sid=' + captcha_sid, ms); ms.SaveToFile('captcha_temp.jpeg'); fr.image1.Picture.LoadFromFile('captcha_temp.jpeg'); InputQuery('Капча','Введи капчу.',captcha_key); end;
stepashka_ 1. Cкачиваешь, распаковываешь http://slil.ru/29037076 2 .Добавляешь к проекту Project=>Add to project 3. В uses RegExpr 4. Enjoy!
А объект то создал? RegExp := TRegExpr.Create; PHP: if Pos('captcha_sid', result) <> 0 then begin RegExp.Expression := '"captcha_sid":"(.+?)","'; RegExp.Exec(result); captcha_sid := RegExp.Match[1]; //showmessage(captcha_sid); fr.log.Lines.Add('-Получение капчи'); (* Грузим капчу *) fr.http.Get('http://vkontakte.ru/captcha.php?sid=' + captcha_sid, ms); ms.SaveToFile('captcha_temp.jpeg'); fr.image1.Picture.LoadFromFile('captcha_temp.jpeg' ); InputQuery('Капча','Введи капчу.',captcha_key); end; А в проект точно добавил?? Пробуй так, и точно описание ошибки в студию И, после использования надо освобождать: RegExp.Free;
Хы, ну приколист то а Объект то объявлять еще надо в функции в которой используешь: var RegExp : TregExpr; captcha_sid , captcha_key: string; .................... A fr поменяй на имя своей формы
Отлаживай программу по шагам, и найдешь где косяк В этом месте что ты передаешь в метод: RegExp.Exec(result); ? что у тебя хранится в переменной result? И вот эту хню: ms.SaveToFile('captcha_temp.jpeg'); fr.image1.Picture.LoadFromFile('captcha_temp.jpeg'); поменяй на Image1.Picture.Bitmap.LoadFromStream(ms); потому что бессмысленно сохранять в файл, чтобы тут же из файла загрузить :-D
Повторяю: отлаживай программу по шагам, так проще всего найти где ошибка Я лично не собираюсь брать твой код на отладку
Язык pascal. На счет массива хз. Но нужно по премеру этой программы Code: program sotrudniki; type sotrudniki=record surname:string; name:string; age:byte; data:integer; plata:integer; pol:char; end; var mas: array [1..25] of sotrudniki; a,s,i:integer; begin write('a='); read(a); for i:=1 to a do begin write('vvedite familiy'); read(zap[i].surname); write('vvedite imia'); read(zap[i].name); write('vvedite vozrast'); read(zap[i].age); write('vvedite god priniatia na raboty'); read(zap[i].data); write('vvedite razmer zarabotnoi plati'); read(zap[i].plata); write('vvedite pol'); read(zap[i].pol); end; writeln('surname','name','age','pla ta','pol'); for i:=1 to a do begin write(zap[i].surname:9); write(zap[i].name:4); write(zap[i].age:3); write(zap[i].data:4); write(zap[i].plata:6); write(zap[i].pol:2); writeln; end; for i:=1 to a do begin if zap[i].pol='z'then s:=s+zap[i].plata; end; writeln('summa=',s); end.
PHP: uses RegExpr; ... var result, captcha_sid: string; postdata: tstringlist; RegExp: TRegExpr; ms: tmemorystream; begin postdata := tstringlist.create; RegExp := TRegExpr.Create; ms := tmemorystream.Create; ... postdata.Add('op=a_login_attempt'); result := fr.http.Post('http://vkontakte.ru/login.php', postdata); if Pos('captcha_sid', result) <> 0 then begin RegExp.Expression := '"captcha_sid":"(.+?)","'; RegExp.Exec(result); captcha_sid := RegExp.Match[1]; (* Грузим капчу *) fr.http.Get('http://vkontakte.ru/captcha.php?sid=' + captcha_sid, ms); ms.SaveToFile('captcha_temp.jpeg'); fr.image1.Picture.LoadFromFile('captcha_temp.jpeg'); end; ... ms.free; RegExp.free; postdata.free; end; Мне так удобнее
ну держи, коли так: PHP: program mashini1; type mashini=record marka:string; god:integer; color:string; nomer:string; end; var zap: array [1..25] of mashini; a,s,i,j,x1:integer; x2,x3,x4:string; begin write('kolichestvo='); readln(a); for i:=1 to a do begin writeln('vvedite marku'); readln(zap[i].marka); writeln('vvedite god'); readln(zap[i].god); writeln('vvedite cvet'); readln(zap[i].color); writeln('vvedite nomer'); readln(zap[i].nomer); end; writeln('mashini chernogo cveta'); writeln('marka ',' god ',' nomer '); for i:=1 to a do begin if zap[i].color='black' then begin write(zap[i].marka:5,' '); write(zap[i].god:4, ' '); write(zap[i].nomer:6,' '); writeln; end; end; writeln('nomer na N'); writeln('marka ',' god ',' cvet ',' nomer '); for i:=1 to a do begin if copy(zap[i].nomer,1,1)='m' then begin write(zap[i].marka:5,' '); write(zap[i].god:4, ' '); write(zap[i].color:5,' '); write(zap[i].nomer:6,' '); writeln; end; end; for i:=1 to a-1 do for j:=i+1 to a do if zap[i].god>zap[j].god then begin x1:=zap[i].god; x2:=zap[i].marka; x3:=zap[i].color; x4:=zap[i].nomer; zap[i].god:=zap[j].god; zap[i].marka:=zap[j].marka; zap[i].color:=zap[j].color; zap[i].nomer:=zap[j].nomer; zap[j].god:=x1; zap[j].marka:=x2; zap[j].color:=x3; zap[j].nomer:=x4; end; writeln; writeln('po vozrastaniju goda vipuska'); writeln('marka ',' god ',' cvet ',' nomer '); for i:=1 to a do begin write(zap[i].marka:5,' '); write(zap[i].god:4, ' '); write(zap[i].color:5,' '); write(zap[i].nomer:6,' '); writeln; end; readln; end. я молодец, правда? кстати, писал в блокнотике, так что на работоспособность не проверял... будут ошибки сообщишь))
Есть какой нибудь компонент для дельфи, что бы из png конвертировать в jpeg|bmp ? Просто какая то капча тупая попалась, не грузится в дельфи и все...
PHP: ShellExecute(Self.Handle, 'open', 'help/help.doc', nil, nil, SW_SHOWNORMAL); ShellExecute(Self.Handle, 'open', 'help/help.avi', nil, nil, SW_SHOWNORMAL); выполняется на bitbtnclick. Под хр открывает и работает идеально. Но под виндовс 7 вообще не реагирует. Подскажите пожалуйста, как можно решить эту проблему. (проверилось на нескольких семерках и хр - шках).