[ 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. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    Люди такой вопрос, что такое TIdAttachment ето наврено приклепление файлов к письму? потскажите поподробней как его установить плиз.Скажите куда тыкнуть на Delphi 2006
    Как мне уже сообщили что он идёт радной в делфи...Тока вот как его установить и где там его нарыть ненаю.
     
  2. Fen-Omen

    Fen-Omen Elder - Старейшина

    Joined:
    22 Mar 2007
    Messages:
    60
    Likes Received:
    88
    Reputations:
    60
    Угу, используй объект класса TidAttachment если те нужно отправить аттачмент к письму в виде файла. Для этого применяется следующий конструктор:

    где Collection - объект класса TIdMessageParts, представляющее собой коллекцию приложений к электронному письму.

    Контстанта AFileName типа TFileName - представляет собой обычную текстовую строку с указанием правильного пути к файлу, например "C:\file.zip", по умолчанию имеет значение ''.
     
    1 person likes this.
  3. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    реализация кнопки Undo в текстовом редакторе.

    Memo1.Perform(EM_UNDO, 0, 0); // сама кнопка

    а как сделать проверку, можно ли вообще сделать undo, например, если открыт новый документ, то

    Form1.Undo.Enabled:=False;

    сам искал, не нашел =\
     
  4. NetMan

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

    Joined:
    9 Feb 2004
    Messages:
    121
    Likes Received:
    37
    Reputations:
    34
    Piflit > глянь справку о сообщении EM_CANUNDO в MSDN.
     
    1 person likes this.
  5. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    procedure TMainForm.MainMemoChange(Sender: TObject);
    begin
    if MainMemo.Perform(EM_CANUNDO, 0, 0) then //тут надо выполнить сравнение?
    TMainForm.MUndo.Enabled:=True;
    end;

    пришет ошибку
    [Error] MainUnit.pas(166): Type of expression must be BOOLEAN
    [Error] MainUnit.pas(167): Method identifier expected
    [Fatal Error] Project1.dpr(6): Could not compile used unit 'MainUnit.pas'
     
  6. mari00

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

    Joined:
    27 Oct 2006
    Messages:
    93
    Likes Received:
    40
    Reputations:
    16
    TMainForm.MUndo.Enabled:=false;
    x:=//то с чем ты сравниваешь
    if (MainMemo.Perform(// не знаю что тут у тебя за параметры) ) = x then // сдесь проверка на сходство ,если надо не равно, то тогда вмсето = пиши <>
    TMainForm.MUndo.Enabled:=True;
    end;

    если не получиться стукани в асику.
     
    #126 mari00, 14 Jun 2007
    Last edited: 14 Jun 2007
    2 people like this.
  7. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Посылай Em_canundo и смотри результат.

    Короче:

    Memo1.Perform(EM_CANUNDO, 0, 0) > 0

    В этом случае можно сделать отмену
     
    #127 Joker-jar, 14 Jun 2007
    Last edited: 14 Jun 2007
    1 person likes this.
  8. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    все получилось, спасибо iNVLose

    ЗЫ как допишу, блокнот, выложу, буду ждать пожеланий и предложений, что добавить, пок реализую стандартный набор notepad'a ))
     
  9. NetMan

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

    Joined:
    9 Feb 2004
    Messages:
    121
    Likes Received:
    37
    Reputations:
    34
    Ещё надо юзать сообщение EM_EMPTYUNDOBUFFER для обнуления флага отмены.
    Вот накатал примерчик.
     
  10. GlobaL

    GlobaL Banned

    Joined:
    21 Feb 2007
    Messages:
    57
    Likes Received:
    66
    Reputations:
    -18
    Возможно ли из дельфи загрузить фаил тока не ехе, а batб для ехе я зделал, можно както переделать под .bat пробывад исправлять расширение неоткрывает.

    вот код:

    Code:
    function CreateProcessAndWait(AModuleName: string): boolean;
    var si: STARTUPINFO;
      pi: PROCESS_INFORMATION;
    begin
      Result := false;
    
      ZeroMemory(@si, sizeof(si));
      si.cb := sizeof(si);
      ZeroMemory(@pi, sizeof(pi));
    
      SetCurrentDir(ExtractFileDir(AModuleName));
    
      if not CreateProcess(nil,
            PChar(AModuleName),
            nil,
            nil,
            FALSE,
            0,
            nil,
            nil,
            si,
            pi) then
      begin
        Exit;
      end;
    
    
      WaitForInputIdle(pi.hProcess, INFINITE);
      WaitForSingleObject(pi.hProcess, INFINITE);
    
    
      CloseHandle( pi.hProcess );
      CloseHandle( pi.hThread );
    
      Result := true;
    end;
    procedure TForm1.Timer3Timer(Sender: TObject);
    begin
    CreateProcessAndWait('C:\X-Hider\compile.bat');
    timer3.Enabled:=false;
    end;
    Или, если кто знает подскажите как консольный компилятор в дельфи зовется, я както юзал его год примерно назад но забыл как называется лежит в папке BIN и называется примерно dcc32.exe.
     
    #130 GlobaL, 15 Jun 2007
    Last edited: 15 Jun 2007
  11. NetMan

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

    Joined:
    9 Feb 2004
    Messages:
    121
    Likes Received:
    37
    Reputations:
    34
    GlobaL > Попробуй так:
    Code:
    CreateProcessAndWait('cmd.exe /c C:\X-Hider\compile.bat');
     
  12. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    > Возможно ли из дельфи загрузить фаил тока не ехе, а batб для ехе я зделал,

    а уроки зделал уже?
    WinExec( "путь_к_файлу\1.bat", SW_SHOW );

    > называется примерно dcc32.exe.

    лежит примерно в \Program Files\
     
    #132 KEZ, 16 Jun 2007
    Last edited: 16 Jun 2007
    1 person likes this.
  13. GlobaL

    GlobaL Banned

    Joined:
    21 Feb 2007
    Messages:
    57
    Likes Received:
    66
    Reputations:
    -18
    аты сам уроки зделал? я юзаю другую функцию CreateProcessAndWait а не WinExec, так как с ней мозгоепства меньше.
     
  14. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    По русскому ставлю 2 тебе.
    > Безпалевный
    > криптованные
    > НЕПАЛЯТСЯ

    По кодингу 2 так же.

    > CreateProcessAndWait а не WinExec, так как с ней мозгоепства меньше.

    мозгоепство это когда человек считает что .bat соответствует запущеному процессу и пытается его "createprocess()"
    скажи честно, ты употребляешь делфи, borland билдер и другие опасные наркотики?
     
  15. GlobaL

    GlobaL Banned

    Joined:
    21 Feb 2007
    Messages:
    57
    Likes Received:
    66
    Reputations:
    -18
    признаю я наркоман, но он и через WinExec непрет.
     
  16. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    Вот моя первая более или менее осмысленная прога на дельфях (блокнот) :) Хотелось бы услышать ваши пожелания/предложения, что добавить/улучшить. Единственное, что у меня не получилось сделать, это нормальное появление/скрытие StatusBar без возникновения полос прокрутки, как их устранить? Всем ответившим заранее спасибо))

    http://slil.ru/24522152
     
    1 person likes this.
  17. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    iNVLose, спасибо, приятно слышать такие слова))

    а как должна работать undo?...

    я так понимаю, кнопка undo, а не пункт в меню. так?

    то, о чем говоришь ты, у меня было в предпоследней компиляции. я это убрал, но теперь возникают полосы прокрутки... хм... может все дело в разных машинах?
     
  18. Alexander Shepard

    Alexander Shepard New Member

    Joined:
    16 Jun 2007
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Люди , может подскажете , как в конфиге юзера в квипе расшифровать строки
    (Custom1,Custom2) , которые обозначают пасс ?
     
  19. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    используй ф-ию делфи DecryptICQPassThatPresentInQIPConfig( 0 );
     
    2 people like this.
  20. Alexander Shepard

    Alexander Shepard New Member

    Joined:
    16 Jun 2007
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    эээ , а поподробней можна ? :D
     
Thread Status:
Not open for further replies.