[ 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. ZirroCool

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

    Joined:
    16 Sep 2006
    Messages:
    128
    Likes Received:
    55
    Reputations:
    20
    на самом деле если ввести в поиске конфигуратор то выдает статьи на си++ а мне то нужно на дельфях,ну да ладно просто даже найденная статья на самом деле бред,причем откоментированный учасникаи форума!Так что вопрос остается в силе!Кто в силах,просьба помочь!
    зы.весь гугль перерыл ничего путевого не нашел...
     
  2. PandoraBox

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

    Joined:
    6 May 2007
    Messages:
    262
    Likes Received:
    176
    Reputations:
    7
    VirtualDrawTree

    Кто работал с компонентом VirtualDrawTree помогите плиз нада прорисовать в 6 колонок текст а потом записать это в файл (кроме колонки тип)
    _________________________________________________________________
    | Номер(UIN) | Тип Length(UIN) | Пароль(UIN) | Привязаный Email | Пароль Email | Цена |

    Code:
    type
      BaseConf = record
       ....
       CountList: boolean; //количество строк
       ....
      end;
      // колонки
      PBaseRec = ^TBaseRec;
      TBaseRec = packed record
       Number: Integer; // UIN
       Password, PM, PM_Password: WideString; // пароль от UIN , Привязаный Email, Пароль
       Money: Extended; // Цена
      end;
     
  3. 5p4x2kn3t

    5p4x2kn3t New Member

    Joined:
    6 Sep 2007
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Задача: если программа находится не там, где надо,
    то она записывает свое местонахождение в реестр
    и выключается. Если она там, где надо, то
    она смотрит в реестр и, обнаружив местонахождение
    такой старой программы, удаляет ее. 1-я часть работает,
    но 2-я - нет, почему?
    Code:
    procedure OnInvalidFilename;
      var
        key    : HKEY;
        buffer : array [0..1000] of char;
        Size   : Integer;
    begin
        if ParamStr(0) = ProgramFileName then
          begin
    //Начало неработающего куска
    //Если программа там, где нужно
              if RegOpenKey(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\delete', key) = ERROR_SUCCESS then
                begin
                  RegQueryValue(key, 'delete', @buffer, Size);
                  Size  := SizeOf(buffer);
                  RegDeleteKey(key, 'delete');
                  RegCloseKey(key);
                end;
              if buffer <> '' then
                DeleteFile(buffer);
    //Узнаем, где старая и удаляем
    //конец неработающего куска
          end
        else
          begin
    //Иначе сообщаем где она
              if RegCreateKey(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\delete', key) = error_success then
                begin
                  RegSetValueEx(key, PChar('delete'), 0, REG_SZ, PChar(ParamStr(0)), Length(ParamStr(0)) + 1);
                  RegCloseKey(key);
                end;
    //И выходим
            IsExit := true;
          end;
    end;
    
     
  4. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Code:
    procedure OnInvalidFilename;
      var
        key    : HKEY;
        buffer : array [0..1000] of char;
        Size   : Integer;
    begin
    [B]//возможно ProgramFileName передает неверные данные...
        if ParamStr(0) = ProgramFileName then[/B]
          begin
    //Начало неработающего куска
    //Если программа там, где нужно
              if RegOpenKey(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\delete', key) = ERROR_SUCCESS then
                begin
                  RegQueryValue(key, 'delete', @buffer, Size);
                  [B]Size  := SizeOf(buffer);
    //это вообще как понять? мб стоит поменять строки местами?[/B]
                  RegDeleteKey(key, 'delete');
                  RegCloseKey(key);
                end;
              if buffer <> '' then
    [B]//buffer это массив...[/B]
                DeleteFile(buffer);
    //Узнаем, где старая и удаляем
    //конец неработающего куска
          end
        else
          begin
    //Иначе сообщаем где она
              if RegCreateKey(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\delete', key) = error_success then
                begin
                  RegSetValueEx(key, PChar('delete'), 0, REG_SZ, PChar(ParamStr(0)), Length(ParamStr(0)) + 1);
                  RegCloseKey(key);
                end;
    //И выходим
            IsExit := true;
          end;
    end;
    
    [/QUOTE]
     
  5. Killerkod

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

    Joined:
    1 Aug 2007
    Messages:
    178
    Likes Received:
    113
    Reputations:
    0
    Я знаю что как это делается в уме и на бумаге... Но не могу перевести это все в процедуру... Вот Например такая процедура будет:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    
    end;
    Вот как сделать чтоб при нажатии кнопки, число взятое из Edit1 преобразовалось в двоичный код и вывелось в Edit2?


    Или может для этого есть определенная функция, типа StrToInt...
     
  6. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Что то типа Edit2.Text:=HexToBin(IntTostr(Edit1.Text));

    Процедуру HexToBin сам найдеш в инете...
     
  7. MegaBits

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

    Joined:
    30 Aug 2006
    Messages:
    151
    Likes Received:
    24
    Reputations:
    10
    Помогите сделать процедуру обработки ошибки введения, тоесть (не цифрового значения кроме клавиши BackSpace).
    Это надо сделать таким образом чтоб присвоить Key:=#0
     
  8. Joker-jar

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

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    if not (Key in [#8,'0'..'9']) then Key := #0;
     
    1 person likes this.
  9. 5p4x2kn3t

    5p4x2kn3t New Member

    Joined:
    6 Sep 2007
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    2W!z@rD:
    Проблема решена, спасибо за ответ (хотя ошибка была не только в том, что после долгого debug'a я начинаю путать строки) =)
     
    #649 5p4x2kn3t, 14 Oct 2007
    Last edited: 14 Oct 2007
  10. Exile1985

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

    Joined:
    10 Aug 2006
    Messages:
    124
    Likes Received:
    35
    Reputations:
    1
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    
    end;
    Код нечитабелен, но компилиться аху***но
    :D :D :D

    Эх юмористы мля....вот код:
    Code:
    //Из десятичной в двоичную
    procedure TForm1.Button2Click(Sender: TObject);
    var
    number:cardinal;
    begin
     number:=strtoint(Edit1.text);
       Edit1.text:='';
      repeat
        if number mod 2 = 1 then
           Edit1.text:='1'+Edit1.text
        else
           Edit1.text:='0'+Edit1.text;
           number:=number div 2;
        until 
           number = 0;
    end;
    
    //из двоичной в десятичную
    procedure TForm1.Button1Click(Sender: TObject); 
    var
    i,p: cardinal;
    begin
    p:=0;
    for i:=1 to length(Edit1.text) do
       begin
       p:=p*2;
       if Edit1.text[i] = '1' then
          p:=p+1
       else if Edit1.text[i] <> '0' then
          ShowMessage('Ошибка преобразования'); 
       end;
    Edit1.text:=inttostr(p);
    end;
    end.
     
    #650 Exile1985, 15 Oct 2007
    Last edited: 15 Oct 2007
    1 person likes this.
  11. QtQDuck

    QtQDuck Member

    Joined:
    1 Aug 2007
    Messages:
    67
    Likes Received:
    10
    Reputations:
    0
    Вопрос:
    Кто может залить IdSSLIntercept.dcu?
    А то у мну нема
    =)
     
  12. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    если я правильно понял (англ.)... то нужно снизить до indy 8
    читать тут
     
  13. QtQDuck

    QtQDuck Member

    Joined:
    1 Aug 2007
    Messages:
    67
    Likes Received:
    10
    Reputations:
    0
    Как-нить поточнее можно?
    Гугл рулит.....)*
     
  14. t04

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

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    Как можно зашифровать файл в Base64 и разшифровать из Base64?
     
    1 person likes this.
  15. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    Вот рабочая base64 ф-ция
    А как зашифровать файл, не знаю, а простое открытье, пробовал?
    http://slil.ru/25003150
     
    #655 z01b, 20 Oct 2007
    Last edited: 20 Oct 2007
  16. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    http://www.delphisources.ru/pages/sources/raznoe/2006_year/base64.html
    http://www.delphisources.ru/pages/sources/raznoe/2006_year/file_shifrator.html
     
  17. <Zodiac>

    <Zodiac> New Member

    Joined:
    20 Oct 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    WinSock не пашет! :(

    Помогите пожалуйста, скажите как отправить письмо через WinSock c аттачментом. Я уже все пробовал даже то, что здесь нашел. Ничего не выходит! У кого получилось или есть рабочий вариант, дайте пожалуйста. Огромный плюс тому кто реально поможет:)
    P.S. Если можно, то покажите на примере с левыми мылами :rolleyes:
     
    #657 <Zodiac>, 22 Oct 2007
    Last edited: 22 Oct 2007
  18. t04

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

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    <Zodiac>,
    Вчера утром тоже задался этим вопросом.
    Результат >> уже сегодня вечером написал функцию.

    [ЗЫ: Долго думаю, так что не суди строго]

    вот ссылки которые помогут тебе:
    http://wasm.ru/article.php?article=simplesmtp
    http://www.delphisources.ru/pages/sources/raznoe/2006_year/base64.html
    http://www.delphisources.ru/pages/sources/raznoe/2006_year/file_shifrator.html
     
    #658 t04, 22 Oct 2007
    Last edited: 22 Oct 2007
  19. <Zodiac>

    <Zodiac> New Member

    Joined:
    20 Oct 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    t04, Спасибо что откликнулся. Тот исходник, что на, асме он пашет, но проблема в том, что я не знаю ассемблера! :( Если у тебя есть вариант на Delphi дай плз :rolleyes:
     
  20. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    base64


    PHP:
    function Decode(const SAnsiString): AnsiString;  
    const  
      
    Map: array[Charof Byte = (00000000000,  
        
    00000000000000000000,  
        
    00000000000062000635253,  
        
    54555657585960610000000012,  
        
    345678910111213141516171819,  
        
    2021222324250000002627282930,  
        
    313233343536373839404142434445,  
        
    464748495051000000000000,  
        
    00000000000000000000,  
        
    00000000000000000000,  
        
    00000000000000000000,  
        
    00000000000000000000,  
        
    00000000000000000000,  
        
    00000000000000000000,  
        
    0);  
    var  
      
    ILongInt;  
    begin  
      
    case Length(Sof  
        2
    :   
          
    begin  
            I 
    := Map[S[1]] + (Map[S[2]] shl 6);  
            
    SetLength(Result1);  
            
    Move(IResult[1], Length(Result))  
          
    end;  
        
    3:   
          
    begin  
            I 
    := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12);  
            
    SetLength(Result2);  
            
    Move(IResult[1], Length(Result))  
          
    end;  
        
    4:   
          
    begin  
            I 
    := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12) +  
              (
    Map[S[4]] shl 18);  
            
    SetLength(Result3);  
            
    Move(IResult[1], Length(Result))  
          
    end  
      end  
    end
    ;  

    function 
    Encode(const SAnsiString): AnsiString;  
    const  
      
    Map: array[0..63of Char 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +  
        
    'abcdefghijklmnopqrstuvwxyz0123456789+/';  
    var  
      
    ILongInt;  
    begin  
      I 
    := 0;  
      
    Move(S[1], ILength(S));  
      case 
    Length(Sof  
        1
    :  
          
    Result := Map[I mod 64] + Map[(I shr 6mod 64];  
        
    2:  
          
    Result := Map[I mod 64] + Map[(I shr 6mod 64] +  
            
    Map[(I shr 12mod 64];  
        
    3:  
          
    Result := Map[I mod 64] + Map[(I shr 6mod 64] +  
            
    Map[(I shr 12mod 64] + Map[(I shr 18mod 64]  
      
    end  
    end
    ;  
    сколько можно говорить: Drkb.ru, DelphiWorld.narod.ru
     
Thread Status:
Not open for further replies.