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

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    ListView1.Columns.Add; - создать столбец
    ListView1.Column[0].Caption:='Column1'; - присвоить столбцу с индексом 0 заголовок
    ListView1.Items.Add; - добавить строку
    ListView1.Items.Item[0].Caption:='Item1'; - присвоить строке с индексом 0 заголовок
     
    2 people like this.
  2. cepera666

    cepera666 New Member

    Joined:
    22 Jan 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    можно ли преобразовать, например, '%systemroot%' в 'C:\windows' в зависимости от расположения windows?
     
  3. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    1/немного помучавшись со строками можно. но придётся создать промежуточную страницу, чтоб записать данные системы клиента)
    2.Напиши, например, в командной строк
    set systemroot=ПУТЬ
    3.А лучше - в настройках переменных окружения измени.
    4/.А ещё лучше - не майся дурью. ;)
     
    #3483 KaZ@NoVa, 26 May 2009
    Last edited: 26 May 2009
  4. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Code:
    var
     buf:array[0..255] of char;
     p:integer;
     s:string;
    begin
     s:='%systemroot%\file.txt';
     GetWindowsDirectory(buf,255);
     p:=pos('%systemroot%',s);
     if p>0 then
      begin
       delete(s,p,12);
       insert(buf,s,p);
      end;
     showmessage(s)
    end;
    
     
    1 person likes this.
  5. X-TAZY

    X-TAZY New Member

    Joined:
    20 Nov 2008
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте! В своей программе использую компонент ListView. Добавляю в него несколько записей:
    Code:
    ListView1.Items.Add;
    ListView1.Items[ListView1.Items.Count - 1].Caption := Edit1.Text;
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit2.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit3.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit4.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit5.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit6.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit7.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit8.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit9.Text);
    ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Edit10.Text);
    Свойство SortType установил в stText.
    Проблема такая: при добавлении скажем первой записи (это фамилии), допустим Агзамов ну и остальных субитемов, не важно, она нормально заносится в ListView, затем добавляю еще одну запись, например, Климин вместе с субитемами, так вот она тоже нормально заносится и все субитемы отображаются. Теперь самое главное - добавляю третью запись: напрмер, Гараев, она должна при установленном свойстве SortType быть между этими записями. Так и есть заношу третью запись, но! отображается только первое поле (Item), а все остальные (subItems) не отображаются. Хотелось бы знать почему такое происходит и как обойти это. Самое интересное, что если свойство SortType установить в stNone, то записи добавляются последовательно и не сортируются, но зато все поля отображаются.
     
    #3485 X-TAZY, 27 May 2009
    Last edited: 27 May 2009
  6. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ты добавил его 3-м элементом. Он после сортировки стал вторым, к примеру.
    И скорее всего нарушилась связь между этим элементом и его вложенными элементами.
    Попробуй как нибудь сначало создать элемент, заполнить его, а тока потом кидать в ListView
     
  7. X-TAZY

    X-TAZY New Member

    Joined:
    20 Nov 2008
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    Не понял, почему третьим я добавил?
    Code:
    ListView1.Items.Count-1
    
    - это же в конец записи добавляется. И если записей нету, то добавление происходит с первой записи, затем вторая запись записывается, третья и т.д. Т.е. нужно сначала объявить переменную TListItem, а затем наполнить значениями, ну и потом присвоить их компоненту ListView?
     
    #3487 X-TAZY, 27 May 2009
    Last edited: 27 May 2009
  8. X-TAZY

    X-TAZY New Member

    Joined:
    20 Nov 2008
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    Все разобрался сам! Если кому понадобится: сортировка идет по первому символу - в данном случае десятая запись вполне закономерно добавляется после первой, затем одиннадцатая итд до двадцатой, которая добавляется после второй итд. Буду думатьтеперь как обойти эту брешь
     
  9. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    Не работает try...expect

    Код:

    PHP:
    procedure TForm1.Button1Click(SenderTObject);
    begin
    try
     
    memo1.Lines.Text:=IdHTTP1.Get('http://programmersforum.r/');
    except
     ShowMessage
    ('Ошибка!');
    end;
    end;
    Должна высветиться ошибка (showmessage)
    Но высвечивается ошибка при выполнении программы (что в мемо не может быть присвоенно код страницы)
    (я специально сделал неверный адрес в GET)
    Я слышал что некоторые версии компонента idHTTP всегда ошибку высвечивают если что-то не так (try не спасает)

    Вообщем помогите, что делать?
     
  10. RumShun

    RumShun Member

    Joined:
    27 Oct 2008
    Messages:
    283
    Likes Received:
    75
    Reputations:
    6
    запускай не из под делфи
     
    1 person likes this.
  11. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 RumShun Можно запускать и в Delphi, но при возникновении эксепшена тебя перекинет в отладчик дельфовый, а там ты можешь нажать на F9 для того чтобы продолжилось выполнение проги и тогда эксепшен обработается внутри неё )
     
    1 person likes this.
  12. cremator (c)

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

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Запарился уже с индиевскими компонентами idsmtp с отправкой через ssl. Хоть об стену бейся.. пишет Could not load SSL library. Хотя даже специально скачивал Win32OpenSSL, кидал в папку с прогой libeay32.dll и ssleay32.dll. Может кто то работал с SSL на дельфи, подскажите?))
    Или если у кого есть реализация на синапс-компонентах тоже не плохо было бы..

    Code:
    procedure TForm1.Button1Click(Sender: TObject);  var  SMTP: TIdSMTP;   sPort,sHost,sPassword,sUsername,  sFromAddress,sFromName,sToAddress,sToName,
    sSubject,sBoby:string;  
    begin      
    sPort := '587';      
    sHost := 'smtp.gmail.com';      
    sUsername := '***';      
    sPassword := '*****';      
    sBoby:='****'; 
    sFromAddress:='******@gmail.ru';      
    sFromName:='1';      
    sToAddress:='****@mail.ru';      
    sToName:='1';      
    sSubject:='666';      
    SMTP:=TIdSMTP.Create;    
    SMTP.Host:=sHost;    
    SMTP.Port:=strtoint(sPort);    
    SMTP.Username:=sUsername;    
    SMTP.Password:=sPassword;    
    SMTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;    
    SMTP.UseTLS:=utUseImplicitTLS;      
    IdMessage.Body.Add(sBoby);      
    IdMessage.From.Address := sFromAddress;      
    IdMessage.From.Name := sFromName;      
    IdMessage.Recipients.Add;      
    IdMessage.Recipients.Items[0].Address := sToAddress;      
    IdMessage.Recipients.Items[0].Name := sToName;  
    IdMessage.Subject := sSubject;    
    SMTP.Connect;    
    SMTP.Send(IdMessage);    
    SMTP.Disconnect;    
    SMTP.Free;  
    end;
     
    #3492 cremator (c), 30 May 2009
    Last edited: 30 May 2009
  13. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    http://www.example-code.com/delphi/smtp-ssl-delphi.asp
    http://www.chilkatsoft.com/refdoc/xChilkatEmail2Ref.html
    http://www.chilkatsoft.com/download/EmailActiveX.msi
     
    1 person likes this.
  14. SOULER

    SOULER New Member

    Joined:
    24 May 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    как передавайть файлы через TIdUDPClient-TIdUDPserver?
     
  15. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    http://damagelab.org/lofiversion/index.php?t=16017
     
  16. НTL

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

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Есть 2 задачи:
    1) Есть фаил на хосте (*.txt) (Адрес: http://host.domen/1.txt)
    а) Открыть этот фаил не сохраняя на компе
    б) 1 строчка = переменая1
    2 строчка = переменая2
    3 строчка = переменая3

    2)
    edit1 = email
    edit2 = pass (От ВК)
    а) Сделать запрос на vkontakte.ru
    b) Если ак рабочий то: переменая4 = 1
    Если нет то: переменая4 = 0

    С меня плюсы....
     
  17. Agregat

    Agregat New Member

    Joined:
    15 May 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Почему не работает программа? По заданию программа должна менять минимальные элементы с диагональными в каждой строке квадратной матрицы.
    Code:
    var
    A:array [1..100,1..100] of integer;
    i,j,M:byte;
    C,z,Idx1,Idx2:integer;
    
    begin
        repeat
           writeln('Введите размерность матрицы (M<=100): ');
           readln(M);
              if ((M<=1) or (M>100)) then
                 begin
                     writeln('Такая размерность невозможна по условию.');
                     writeln('Повторите ввод.');
                 end;
        until ( (M>1) and (M<=100) );
        writeln('Введите матрицу');
           for i:=1 to M do
           for j:=1 to M do
              begin
                  write('A[',i,',',j,']=');
                  readln(A[i,j]);
              end;
       writeln('Вы ввели: ');
           for i:=1 to M do
               begin
                   for j:=1 to M do write(A[i,j],' ');
                   writeln;
               end;
       for i:=1 to M do
           begin
              Idx1:=1;
              z:=A[i,Idx1];
              for j:=2 to M do
                   if A[i,j]<z then
                       begin
                           z:=A[i,j];
                           Idx1:=j;
                       end;
              A[i,Idx1]:=A[i,i];
              A[i,i]:=z;
            end;
    
        for i:=1 to M do
           begin
              Idx2:=1;
              C:=A[i,Idx2];
              for j:=2 to M do
                   if ((A[i,j]>A[i,i]) and (A[i,j]<C)) then
                       begin
                            C:=A[i,j];
                            Idx2:=j;
                       end;
              A[i,Idx2]:=A[i,(M+1-i)];
              A[i,(M+1-i)]:=C;
           end;
        writeln;
        writeln('Новая матрица:');
            begin
                for i:=1 to M do
                     begin
                          for j:=1 to M do
                                write(A[i,j]:5);
                                writeln;
                     end;
                readln;
            end;
    end.
    
     
  18. sidrus

    sidrus New Member

    Joined:
    16 Feb 2009
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    привет всем,
    ребята может кто писал или может написать прогу каторая тыкает на кнопки в браузере?
    мне не для голосований, играю в игру (ботва) и хотелосьбы чтоб прога сама тыкала кнопку найти цель и нападать если цель найденна

    сайт игры botva.ru
     
  19. JeDaSe

    JeDaSe Member

    Joined:
    23 May 2009
    Messages:
    31
    Likes Received:
    12
    Reputations:
    0
    подкиньте код для логиния в vkontakte.ru [delphi]
     
  20. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    Министатьи глянь.
     
Thread Status:
Not open for further replies.