[ 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. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    KaZ@NoVa, беда в том, что не дает скомпилировать =/ пишет, что нет такого "S_ONLINE"
     
  2. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    а если попробовать скажем ставить не S_ONLINE, а вместо него поставить 1,0, или что там соответствует S_ONLINE
     
  3. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    S_ONLINE ето констатна.
    нажми Ctrl, наведи на "S_ONLINE" в проекте, кликни, и увидешь как и где она обьявлена
     
  4. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    скинь сорсы трояна, я посмотрю, что можно сделать//
     
  5. Xcontrol212

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

    Joined:
    13 Feb 2008
    Messages:
    253
    Likes Received:
    110
    Reputations:
    7
    Code:
    program baran;
    const n=2;
    type ozera = record
    name: string[10];
    glybina: integer;
    razmer: integer;
    strana: string[10];
    end;
    var a:array [1..n] of ozera;
    c,d,i, p: integer;  names,stranas: string;
    t:text;
    glybinas,razmers: integer;
    begin
    for i:= 1 to n do
    begin
    writeln('ozero  ',i);
    ReadLn(a[i].name);
    ReadLn(a[i].glybina);
    ReadLn(a[i].razmer);
    ReadLn(a[i].strana);
    end;
    for i:= 1 to n do
     begin
     Write(a[i].name,' ',a[i].glybina,' ',a[i].razmer,' ',a[i].strana);
    WriteLn;
     end;
    For p:=n downto 1 do
    for i:= 1 to n-1 do
    begin
    if a[i].name>a[i+1].name then
     begin
     names:= a[i].name;
     a[i].name:= a[i+1].name;
     a[i+1].name:= names;
     glybinas:= a[i].glybina;
     a[i].glybina:= a[i+1].glybina;
     a[i+1].glybina:= glybinas;
     razmers:= a[i].razmer;
     a[i].razmer:= a[i+1].razmer;
     a[i+1].razmer:= razmers;
     stranas:= a[i].strana;
     a[i].strana:= a[i+1].strana;
     a[i+1].strana:= stranas;
     end;
     end;
    c:=a[1].glybina;
    d:=a[2].razmer;
    for i:=1 to n do begin
    If a[i].glybina>c
    
    then c:=a[i].glybina;
    if a[i].razmer>d
    then d:=a[i].razmer;
    end;
    
    assign (t,'output.txt');
     rewrite(t);
    
     for i:= 1 to n do
     begin
     Writeln(t,a[i].name,a[i].glybina,a[i].razmer,a[i].strana);
     end;
    {writeln(t,c);
    writeln(t, d ) ;}
    close(t);
    reset(t) ;
    
    
    for i:=1 to n do
    begin
    read(t,a[i].name,a[i].glybina,a[i].razmer,a[i].strana);
    writeln(a[i].name,' ',a[i].glybina,' ',a[i].razmer,' ',a[i].strana);
    end;
    
    readln(t,c) ;
    writeln('samoe glybokoe - ',c) ;
    readln(t, d );
    
    writeln('samoe bolbwoe- ', d );
    
     close(t);
     ReadLn;
     end.
    косяка в сортировке нету
    косяк именно в считывании данных с файла


    Задание:
    В файле хранятся данные о членах некоторого коллектива: фамилия, имя (как мужского, так и женского пола), год рождения, телефон. Среди представленных персон немало однофамильцев, персон одного года рождения, с одинаковым именем и т.д. Упорядочить список по невозрастанию количества однофамильцев. Предусмотреть вывод информации, например, для всех Ивановых.
     
    #3625 Xcontrol212, 17 Jun 2009
    Last edited: 17 Jun 2009
  6. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Есть некая переменная и мне нужно сравнить ее с несколькими значениями.
    If a='' Then Begin...
    Так очень муторно писать,да и не очень хорошо влияет на код. Мне нужен альтернаивтный вариант типа case of
     
  7. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    c
    ... :rolleyes:
     
  8. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Я же говорю, что не пашед. Переменная типа string .
     
  9. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    а ты в одинарных кавычках её записал :D ?
     
  10. Joker-jar

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

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    case только для однобайтовых величин...

    Делай вместо If a='' Then Begin...

    if a <> '' then exit;
     
  11. PAXAn

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

    Joined:
    14 Jun 2008
    Messages:
    43
    Likes Received:
    3
    Reputations:
    0
    помоги с проблемкой....
    как в делфи программно отключить выравнивание иконок на рабочем столе(по типу, имени, размеру и по сетке)?
     
    #3631 PAXAn, 19 Jun 2009
    Last edited: 19 Jun 2009
  12. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    ..можно найти файл с конфигурацие рабочего стола( я хз как он называется), и переписывать его. способ зверский, но рабочий 100%..
    посмотри тут:
    http://www.delphikingdom.com/asp/answer.asp?IDAnswer...
    и тут
    http://www.delphikingdom.com/asp/viewitem.asp?catalo... (скачайте архив примера DskIcLive.zip)
     
    #3632 KaZ@NoVa, 19 Jun 2009
    Last edited: 19 Jun 2009
  13. scroollocker

    scroollocker New Member

    Joined:
    14 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Не получается закинуть файл на фтп! Проблемное место в коде отмечено!
    Delphi говорит: "Incompatible types: 'string' and 'PAnsiChar' "
    Помогите!
    Code:
    uses
      Windows, Messages, SysUtils, Variants, Classes,   Graphics, Controls, Forms,
      Dialogs, StdCtrls, jpeg, ExtCtrls, wininet, Mask, ComCtrls;
    
    var
     conn_param,inet_open : hinternet;
     AboutPC, ftpfilename, filename:pchar;
     port: integer;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
        Port:=21;
        AboutPC:=Pchar('PC');
        filename:='C:\Info_.txt';
        ftpfilename:='/test/Info_'+AboutPC+'.txt'; // вот здесь он ругается!
        inet_open := internetopen('iexplore',INTERNET_OPEN_TYPE_DIRECT,nil,nil,0);
        conn_param := internetconnect(inet_open,'ftp.ru',port,'Name','Pass',INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
        sleep(100);
        ftpputfile(conn_param,filename,ftpfilename,FTP_TRANSFER_TYPE_UNKNOWN,0);
        internetclosehandle(conn_param);
        internetclosehandle(inet_open) ;
        if true then
        showmessage('Good');
    end;
    end.
     
     
  14. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    pchar - это указатель и ты должен выделить память под данные.
    так что в твоем случае быстрее будет юзать string а там гед нужно конвертить в pchar
    типа pchar(переменная_типа_стринг)
     
  15. scroollocker

    scroollocker New Member

    Joined:
    14 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    slesh
    Спасибо, а примерный код можешь скинуть?
     
  16. Nizhegorodets

    Nizhegorodets Member

    Joined:
    21 Mar 2009
    Messages:
    80
    Likes Received:
    66
    Reputations:
    9
    Задача:
    есть memo и текст в нем нужно каждые 15 сек переносить в edit строчку из memo (сначало первую, потом вторую, потом третью и т.д.)
    Меня интересует сам процесс перенесения строчек из memo в edit.
    Плиз подскажите как это сделать?
     
  17. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    1) ну чтобы переносить каждые 15 секунд то юзай таймер
    можешь компонентом, а можешь апишкой - settimer
    2) ты можешь сразу закинуть в edit всё содержимое memo
    edit1.text := memo1.text;
    или отдельную строку
    edit1.text := memo1.Lines.Strings[x]
    где X - номер строки
    P.S. нумерация строк идет он 0 и до memo1.Lines.Count-1
    т.е. можешь просто в цикле пробегаться по строкам
     
    1 person likes this.
  18. scroollocker

    scroollocker New Member

    Joined:
    14 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Как выделить память для PChar?
     
  19. Derec

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

    Joined:
    8 Nov 2007
    Messages:
    74
    Likes Received:
    4
    Reputations:
    0
    Code:
    var
     
     buf:pchar;
    ....
    size:=1000; 1000 байт
    GetMem(Buf,Size);
    
    ....
    
    FreeMem(Buf);
    
     
    #3639 Derec, 21 Jun 2009
    Last edited: 21 Jun 2009
  20. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    еще способ
    Code:
    var
    s:array[0..200] of char
    s2:pchar
    begin
    s2=@s;
    end;
    
     
Thread Status:
Not open for further replies.