Вопросы по Delphi (все версии) - часть 3 - [88] :: Прикладное программирование :: Компьютерный форум Ru.Board
Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3

Модерирует : ShIvADeSt

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

aqwapaq

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Создал VCL. Удалил форму.
Почему не работает так составленный код?
 
 
 

Код:
 
program Phttp5435;
 
uses
  Forms, IdHTTP,IdComponent,SysUtils, IdBaseComponent;
 
{$R *.res}
 var
 POSTData: TStringList;
begin
POSTData := TStringList.create;
POSTData.add('modem_log_st_poe=&hang_up_st_poe=Disconnect&message=');
IdHTTP1.Post('http://192.168.0.1/Status.htm/st_poe.cgi' ,POSTData);
end;
end.
 

 
 
2. Создал консольное приложение
Тоже не работает:
 

Код:
 
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils, IdHTTP,IdComponent;
 
    var
 POSTData: TStringList;
 
begin
  try
{$R *.res}
 
POSTData := TStringList.create;
POSTData.add('modem_log_st_poe=&hang_up_st_poe=Disconnect&message=');
IdHTTP1.Post('http://192.168.0.1/Status.htm/st_poe.cgi' ,POSTData);
 
 
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.
 

Всего записей: 7 | Зарегистр. 02-02-2008 | Отправлено: 11:20 12-02-2008
shilder

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aqwapaq
 
может потому что надо объявить переменную IdHTTP1 ? :)
 

Код:
 
var
    IdHTTP1: TIdHTTP;
 

 
впрочем дельфи я не использую, но что-то мне подсказывает что проблема именно в этом :)

Всего записей: 20 | Зарегистр. 17-08-2003 | Отправлено: 11:32 12-02-2008
aqwapaq

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OK!
Объявил:
 var
    IdHTTP1: TIdHTTP;  
POSTData: TStringList;  
 
Теперь новые ошибки:
 
[DCC Error] Project1.dpr(10): E2003 Undeclared identifier: 'TStringList'
[DCC Error] Project1.dpr(17): E2066 Missing operator or semicolon
[DCC Error] Project1.dpr(18): E2066 Missing operator or semicolon
[DCC Error] Project1.dpr(19): E2250 There is no overloaded version of 'Post' that can be called with these arguments
 
PS. как и где правильно объявить 'TStringList'?

Всего записей: 7 | Зарегистр. 02-02-2008 | Отправлено: 11:46 12-02-2008
shilder

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну а справка-то тебе на что ? :)
 

Код:
 
uses classes
 

Всего записей: 20 | Зарегистр. 17-08-2003 | Отправлено: 11:48 12-02-2008
dene14



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Граждане и гражданочки программисты!
 
Помогите ламаку... Как инициализировать в ReportBuilder'e 10.02 End-User Design ? Репорт выводится норм, хочу сделать возможность редактирования и сохранения/загрузки шаблона, а не получается никак вызвать Designer по кнопке...
 
Подскажите что нужно в procedure TForm.ButtonClick(Sender: TObject); указать и какие ещё процедурки нужны...

Всего записей: 287 | Зарегистр. 06-04-2005 | Отправлено: 12:10 12-02-2008
aqwapaq

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо помогло=)
 
Только после запуска  
First chance exception at $7C812A7B. Exception class EAccessViolation with message 'Access violation at address 0043666C in module 'cscasc.exe'. Read of address 00000128'. Process cscasc.exe (10820)
 
 
и подсвечена строка:
 
IdHTTP1.Post('http://192.168.0.1/Status.htm/st_poe.cgi' ,POSTData);
 
 
Неужели консольное приложение не может корректно работать с Indy?
 Или Delphi ругается на другое?

Всего записей: 7 | Зарегистр. 02-02-2008 | Отправлено: 12:11 12-02-2008
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aqwapaq

Цитата:
Неужели консольное приложение не может корректно работать с Indy?  

Может.
 
Сходите в магазин и купите книжку по DElphi. А потом читать главу по объектам, до тех пор пока не осознаете что объекты нужно создавать и разрушать. И если за вас это делает среда когда вы работаете с формами, то это не оправдание собственного не знания.
 
IdHTTP1 дядя Пушкин создавать будет? или все таки aqwapaq?

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 13:13 12-02-2008
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Мда.. ребзя!  Всё таки от делфи не только польза но и вред...
Обьекты сами по себе ни откуда не беруться и никуда не деваются. Зачем им всем метод create понаделали разработчики?  
 
StringList создали , а IdHTTP1 само что-ли рождается. Давайте последовательно при запуске программы создадим все что нам нужно, попользуем и уничтожим при выходе.
 
 
ЗЫ. Опс опоздал немного... Сори за повтор.

Всего записей: 610 | Зарегистр. 15-01-2003 | Отправлено: 13:16 12-02-2008 | Исправлено: waik, 13:23 12-02-2008
aqwapaq

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Понял=)
 
вот что получилось:
 

Код:
 
program cscasc;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  IdHTTP,
  IdComponent,
  classes;
 //type
//TIdHTTP = class(TIdCustomHTTP);
 
var
IdHTTP1: TIdHTTP;
POSTData: TStringList;
 
 
begin
POSTData := TStringList.Create;
//IdHTTP1:= IdHTTP;
try
{$R *.res}
 
POSTData.add('modem_log_st_poe=&hang_up_st_poe=Disconnect&message=');
IdHTTP1.Post('http://192.168.0.1/Status.htm/st_poe.cgi' ,POSTData);
 
 
finally
POSTData.Free;
 
end;
end.
 

 
А вот и ERROR:
 
[DCC Warning] cscasc.dpr(25): W1036 Variable 'IdHTTP1' might not have been initialized
 
PS. Почему не хочет запускаться? Вроде все по правилам.
 
Добавлено:
 
отрывок:
 
лучший вариант Synapse/ICS для консольных приложений.
 
ps. Как это понимать? Что за дебри? Это аналог Indy?

Всего записей: 7 | Зарегистр. 02-02-2008 | Отправлено: 14:03 12-02-2008
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
aqwapaq

Цитата:
Понял=)

 
Неа не понял....
 
Объекты НАДО создавать!!
 
Вместо этого
//IdHTTP1:= IdHTTP;
 
вписывай  
IdHTTP1:= TIdHTTP.Create(nil);
 
после  
POSTData.Free;
 
вписывай  
IdHTTP1.Free;
 
Это минимум что нужно.  
 
aqwapaq

Цитата:
Создал VCL.  
А вот это круто! Я бы не смог...  Немного постебаться..Не пинайте.

Всего записей: 610 | Зарегистр. 15-01-2003 | Отправлено: 14:19 12-02-2008
aqwapaq

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
waik мой респект!
 
Все работает отлично!
Большое спасибо всем кто принимал участие и давал советы!

Всего записей: 7 | Зарегистр. 02-02-2008 | Отправлено: 14:29 12-02-2008
Rus007

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну так есть или нет у кого нибудь код программы шифрования по маршрутам Гамильтона?

Всего записей: 11 | Зарегистр. 28-01-2008 | Отправлено: 15:08 12-02-2008
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rus007
похоже, что Вам самому прийдётся писать (ну или заказывать кому-то, видел продают за 200 рублей исходники на C++ Builder...)
а вот прочитать про алгоритм шифрования можно по нижеуказанным ссылкам (нашёл через поиск):
http://www.snipetz.com/asu/informsecure/4.html
http://www.bashnet.ru/~steelrat/secure/c4.htm

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 22:01 12-02-2008
kotel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите написать максимально быструю функцию циклического сдвига вправо\влево. Двигать нужно 4х байтное число.
Я умнее чем  
var
ROR:cardinal;
Count:byte;
Result:=(ROR shr Count) or (ROR shl (32-Count));

не придумал.

Всего записей: 595 | Зарегистр. 21-08-2003 | Отправлено: 09:32 13-02-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kotel

Код:
 
function ROL(a, s: LongWord): LongWord;
asm
  mov    ecx, s
  rol    eax, cl
end;
 
function ROR(a, s: LongWord): LongWord;
asm
  mov    ecx, s
  ror    eax, cl
end;
 
 

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 11:42 13-02-2008
kotel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
Спасибо, что то не работает
"a" нигде не фигурирует внутри тела функции это ничего?

Всего записей: 595 | Зарегистр. 21-08-2003 | Отправлено: 13:00 13-02-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kotel
a - значение которое двигаешь
s - на сколько двигать

Цитата:
"a" нигде не фигурирует внутри тела функции это ничего?

по умолчанию передается в регистр eax
PS : все работает  
ror(4,2) = 1
ror(1,2)= 40000000H

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 14:40 13-02-2008
shilder

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kotel
 
смотря какой calling convention.... :)
 
greenpc
а возвращаемое через eax ? тогда второй аргумент наверное в edx ? :) можно тогда

Код:
 
mov ecx, edx
 

Всего записей: 20 | Зарегистр. 17-08-2003 | Отправлено: 14:41 13-02-2008 | Исправлено: shilder, 14:43 13-02-2008
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shilder

Цитата:
тогда второй аргумент наверное в edx  

угадал delphi так и делает
просто читабельней
 

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 14:49 13-02-2008 | Исправлено: greenpc, 14:50 13-02-2008
kotel



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем спасибо за помощь
но пока я не дописал в конце функции  
mov    result,eax  
работало неправильно (в асме ничего не понимаю, просто решил, что как-то мне нужно значение вернуть)
но прикол не в этом, главное, что быстрее не стало...

Всего записей: 595 | Зарегистр. 21-08-2003 | Отправлено: 19:18 13-02-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru