[ 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. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    В обработчик второй:
    Button1.Click;
     
    1 person likes this.
  2. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 НTL ты вообще в событиях можеш им назначить одну и туже процедуру обработки. или в процедуре обработки Button2Click прям напрямую вызвать
    Button1Click(button2)
     
    1 person likes this.
  3. Joker-jar

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

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    одно событие создай ButtonClick и его укажи в инспекторе для обеих кнопок
     
  4. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    ну че никто не поможет?=(
     
  5. bons

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

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    просто держи в памяти копию текста и удаляй в ней. А когда надо копируй его в label
     
    1 person likes this.
  6. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Ех если бы было так просто....
    Вообщем ладно Похоже альтернатив нет Буду развивать идею с добавлением #13 символа...
    Может ченить выйдет=)
     
  7. bons

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

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    можно конечно еще напрямую выводить API функциями типа TextOut, но мне кажется первый вариант лучше
     
  8. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Мне нужна наглядность Сам текст вообще не ващен
    Программа моя вроде украшения интерфейса.....(не украшение как таковое но близко по смыслу)
    И нужно показать как появляется текст(одинаковый)(каждую секунду добавляется одно слово) и из за переноса по слову образуются тупо 4 колонки из этого текста
     
  9. anticmc

    anticmc New Member

    Joined:
    25 Jul 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    скажите кто знает как можно снять с программы crc проверку. нужно сначала снять проверку а потом отредактировать программу.
     
  10. Jes

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

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    как вариант FindResource --> LoadResource --> LockResource
    потом имея указатель на ресурс запись его в файл посредством WinApi (их благо много)

    ps: размер файла узнаем через SizeofResource

    код залить немогу тк с Делфи посл время дружу не очень
     
    1 person likes this.
  11. Jes

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

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    эхх , как то так ;)
    Code:
    Info:= FindResource(0, 'ИмяРесурса', rt_RCData);      
    MyFile:= CreateFile(PChar('нехорошие_вещи.exe'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
    WriteFile(MyFile, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BytesWritten , nil);
    CloseHandle(MyFile);
    
    // ps: MyFile , Info , BytesWritten :DWORD;
     
    2 people like this.
  12. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как через Delphi узнать IP сайта, зная его доменное имя?
     
    #3952 НTL, 20 Aug 2009
    Last edited: 20 Aug 2009
  13. Snipe

    Snipe New Member

    Joined:
    17 Aug 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Вопрос такой. Что надо написать в обработчике OnClick для RadioButton,чтобы при наступлении этого события обработчик вырубал комп?Ну, или посылал его в спящий режим?
     
  14. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    Code:
    function GetWinVersion: String;  
    var  
       VersionInfo : TOSVersionInfo;  
       OSName      : String;  
    begin  
       // устанавливаем размер записи 
       VersionInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );  
    
       if Windows.GetVersionEx( VersionInfo ) then  
          begin  
             with VersionInfo do  
             begin  
                case dwPlatformId of  
                   VER_PLATFORM_WIN32s   : OSName := 'Win32s';  
                   VER_PLATFORM_WIN32_WINDOWS : OSName := 'Windows 95';  
                   VER_PLATFORM_WIN32_NT      : OSName := 'Windows NT';  
                end; // case dwPlatformId  
                Result := OSName + ' Version ' + IntToStr( dwMajorVersion ) + '.' + IntToStr( dwMinorVersion ) +  
                          #13#10' (Build ' + IntToStr( dwBuildNumber ) + ': ' + szCSDVersion + ')';  
             end; // with VersionInfo  
          end // if GetVersionEx  
       else  
          Result := '';  
    end;  
    
    procedure ShutDown;  
    const  
      SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';   // Borland forgot this declaration  
    var  
      hToken       : THandle;  
      tkp          : TTokenPrivileges;  
      tkpo         : TTokenPrivileges;  
      zero         : DWORD;  
    begin  
      if Pos( 'Windows NT', GetWinVersion) = 1  then // we've got to do a whole buch of things  
         begin  
            zero := 0;  
            if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then  
               begin  
                 MessageBox( 0, 'Exit Error', 'OpenProcessToken() Failed', MB_OK );  
                 Exit;  
               end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)  
            if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then  
               begin  
                 MessageBox( 0, 'Exit Error', 'OpenProcessToken() Failed', MB_OK );  
                 Exit;  
               end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)  
    
    
            // SE_SHUTDOWN_NAME  
            if not LookupPrivilegeValue( nil, 'SeShutdownPrivilege' , tkp.Privileges[ 0 ].Luid ) then  
               begin  
                  MessageBox( 0, 'Exit Error', 'LookupPrivilegeValue() Failed', MB_OK );  
                  Exit;  
               end; // if not LookupPrivilegeValue( nil, 'SeShutdownPrivilege' , tkp.Privileges[0].Luid )  
            tkp.PrivilegeCount := 1;  
            tkp.Privileges[ 0 ].Attributes := SE_PRIVILEGE_ENABLED;  
    
            AdjustTokenPrivileges( hToken, False, tkp, SizeOf( TTokenPrivileges ), tkpo, zero );  
            if Boolean( GetLastError() ) then  
               begin  
                  MessageBox( 0, 'Exit Error', 'AdjustTokenPrivileges() Failed', MB_OK );  
                  Exit;  
               end // if Boolean( GetLastError() )  
            else  
               ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );  
          end // if OSVersion = 'Windows NT'  
       else  
          begin // just shut the machine down  
            ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );  
          end; // else  
    end;
    
    procedure TfrmMain.RadioButton1Click(Sender: TObject);
    begin
    ShutDown;
    end;
    Взято с Исходников.ru
     
  15. Nobody4alj

    Nobody4alj New Member

    Joined:
    20 Aug 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    DosiaПомое
    му так намного легче будет

    Code:
    procedure TfrmMain.RadioButton1Click(Sender: TObject);
    begin
    ExitWindowsEx(EWX_FORCE or ewx_force,0);
    end;
    Code:
    uses winsock;
    
    function IPAddrToName(IPAddr : string): string;
    var
      SockAddrIn: TSockAddrIn;
      HostEnt: PHostEnt;
      WSAData: TWSAData;
    begin
      WSAStartup($101, WSAData);
      SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
      HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
      if HostEnt <> nil then
        result := StrPas(Hostent^.h_name)
      else
        result:='';
    end;
    
    //Пример использования
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Label1.Caption := IPAddrToName(Edit1.Text);
    end;
    
    взято с delphisources
     
  16. Dosia

    Dosia Member

    Joined:
    5 Jun 2009
    Messages:
    118
    Likes Received:
    81
    Reputations:
    6
    Чушь, сам то пробовал? ТС просил не logoff, а shutdown (в частности на XP именно logoff). Ты думаеш определение версии окон просто так от нечего делать сделали? Чтобы программа побольше занимала?
     
  17. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26

    1. Я уже нашол
    2. это не то, это зная IP узнать имя (Проверяй)
    3. и взять это с исходников.ру
     
    1 person likes this.
  18. cremator (c)

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

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Code:
    function GetIPFromHost(const HostName: string): string;
    type
      TaPInAddr = array[0..10] of PInAddr;
      PaPInAddr = ^TaPInAddr;
    var 
      phe: PHostEnt;
      pptr: PaPInAddr;
      i: Integer;
      GInitData: TWSAData;
    begin
      WSAStartup($101, GInitData);
      Result := '';
      phe := GetHostByName(PChar(HostName));
      if phe = nil then Exit;
      pPtr := PaPInAddr(phe^.h_addr_list);
      i := 0;
      while pPtr^[i] <> nil do
      begin
        Result := inet_ntoa(pptr^[i]^);
        Inc(i);
      end;
      WSACleanup; 
    end;
    
    Вот универсальная ф-ия
     
  19. Nobody4alj

    Nobody4alj New Member

    Joined:
    20 Aug 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Ты сам ёп чущь- это потвоему LOGOFF ?
    Насчёт определения ОС я нечего против неимею- просты ему и это могло подойти.
     
  20. DiSi

    DiSi Member

    Joined:
    7 Dec 2007
    Messages:
    0
    Likes Received:
    19
    Reputations:
    0
    здрастье всем)
    подскажите как перегнать .jpg файил в .txt , ну и если можно обратно)


    из нета вроде с помошю TFileStream, можна сделать, ну чето не понимаю как(
     
Thread Status:
Not open for further replies.