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

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18

    а нет случайно функции dat.readstrings(); или что-то вроде этого
     
  2. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    В том то и дело что есть, но когда я её использую, то компилятор выдает кучу ошибок
     
  3. handless

    handless New Member

    Joined:
    12 Apr 2008
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    Решил вспомнить паскаль , сел открыл задачник нашел самую легеньку и на ней же и запоролся , помогите найти ошибку в коде
    Code:
    program myfirst;
    var
    planeta1, planeta2: string;
    radiys1, radiys2, skorost1, skorost2, sytki1, sytki2: integer;
    begin
    Writeln ('Zdrastvyite vvedite nazvanie pervoi planetu');
    Readln (planeta1);
    Writeln ('kakoi radiyes etoi planetu?');
    Readln (radiys1);
    Writeln ('kaka9 skorost dvigeni9 po arbite');
    Readln (skorost1);
    Writeln ('vvedite nazvanie vtoroi planetu');
    Readln (planeta2);
    Writeln ('kakoi ee radiys');
    Readln (radiys2);
    Writeln ('kaka9 skorost arbitu');
    Readln (skorost2);
    sytki1 := radiys1/skorost1;
    Writeln ('Ha', planeta1,' 'sytok-', sytki1,);
    sytki2 := radiys2/skorost2;
    Writeln ('Ha', planeta2, 'sytok-', sytki2,);
    Read
    end.
    
    
     
  4. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    Всетаки я так и не могу разобраться с TdataFile. Вот у меня строчка записи мемо
    Code:
    dat.WriteStrings('UINs','DATA',Memo1.Lines);
    А вот строчка чтения
    Code:
    Memo1.Lines:=dat.readstrings('UINs','DATA',Memo1.Lines);
    И вот тут компилятор пишет ошибку
    Code:
    [Error] Unit2.pas(125): Incompatible types: 'TStrings' and 'procedure, untyped pointer or untyped parameter'
    Немогу понять в чем тут дело, хотя едиты прекрастно сохраняет

    Вот если кому надо сам компонент _http://www.programmersforum.ru/attachment.php?%20%20attachmentid=2764&d=1203612905
     
    #2864 Maxxxtri23, 8 Mar 2009
    Last edited: 8 Mar 2009
  5. handless

    handless New Member

    Joined:
    12 Apr 2008
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    если место "/" ставиш целочисленное деление "div" то все ок ... но как мне с "/" работать
     
  6. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    ну для начала грубая ошибка:

    Code:
    sytki1 := radiys1/skorost1;
    ....
    sytki2 := radiys2/skorost2;
    
    вот такео писать при заданном sytki1, sytki2: integer;


    в результате деления целого типа неполучится, может получиться челое число но не тип! поетому сделай так:

    sytki1, sytki2: Real;

    кароче зелёным выделено все что исправлено, красным то что удалить надо:
    Code:
    var
    planeta1, planeta2: string;
    radiys1, radiys2, skorost1, skorost2: integer;
    [COLOR=Lime]sytki1, sytki2:real;[/COLOR]
    begin
    Writeln ('Zdrastvyite vvedite nazvanie pervoi planetu');
    Readln (planeta1);
    Writeln ('kakoi radiyes etoi planetu?');
    Readln (radiys1);
    Writeln ('kaka9 skorost dvigeni9 po arbite');
    Readln (skorost1);
    Writeln ('vvedite nazvanie vtoroi planetu');
    Readln (planeta2);
    Writeln ('kakoi ee radiys');
    Readln (radiys2);
    Writeln ('kaka9 skorost arbitu');
    Readln (skorost2);
    sytki1 := radiys1/skorost1;
    Writeln ('Ha', planeta1,' [COLOR=Red]'[/COLOR]sytok-', sytki1[COLOR=Red],[/COLOR]);
    sytki2 := radiys2/skorost2;
    Writeln ('Ha', planeta2, 'sytok-', sytki2[COLOR=red],[/COLOR]);
    Read
    end.
     
    _________________________
  7. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    попробуй memo1.lines.text
     
    _________________________
  8. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    Таже самая ошибка =(
     
  9. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    2Maxxxtri23

    т.к. readstrings является процедурой (исходя из ошибки) то естественно присваивать её результат переменной нельзя т.к. процетура не имеет результата.... следоватьельно надо убрать вот ето:

    тка попробуй скорее всего должно работать


    p.s. должно остаться только
    Code:
    ...
    dat.readstrings('UINs','DATA',Memo1.Lines);
    ...
     
    _________________________
    #2869 KIR@PRO, 8 Mar 2009
    Last edited: 8 Mar 2009
    1 person likes this.
  10. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    дай описание процедуры
     
  11. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    Все уже вопрос решен, способом который предложил KIR@PRO
     
  12. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    program icqsend;

    uses
    Windows, sysutils, ICQClient;

    {$R *.res}


    procedure ewq;
    begin

    end;

    procedure qwe;
    begin

    end;

    procedure FormCreate;
    var ICQClient: TICQClient;
    begin
    ICQClient:= TICQClient.Create(nil);
    ICQClient.DisableDirectConnections:= True;
    ICQClient.ICQServer:= 'login.icq.com';
    ICQClient.ICQPort:= 5190;
    ICQClient.UIN:= StrToIntDef(Trim('438***043'), 0);
    ICQClient.Password := Trim('XC****DI');
    ICQClient.OnLogin:= qwe; +++++
    ICQClient.OnMessageRecv:= ewq; +++++
    ICQClient.Login();
    end;

    begin

    end.


    Пишу прогу которая просто при запуске законектится к аське и отправит сообщение
    Но непойму как задать процедуру ОнЛогин и онмессаджРесерв Компилятор постоянно ругается на то место где я поставил +++++ Ошибка Incompatible types: 'method pointer and regular procedure'
    До этого собирал все с формой работало отлично А сейчас ппц
     
  13. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18

    бле, к чему такой гемор?

    помести сам компонент на форму, вместо его создания, а уже в самом компоненте в закладках event ты найдешь онмесседжресив и онлогин



    кстати сам компонент инсталится в закладки Samples
     
  14. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Форма ненужна вообще.....
    Мне размер файла максимально ужать надо...
     
  15. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    на какой ты размер расчитываешь?
     
  16. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Да мне в любом случае нужно убрать форму Не спятать а именно убрать
    Лучше помоги сделать
    ICQClient.OnLogin:= qwe; +++++
    ICQClient.OnMessageRecv:= ewq; +++++
    Дальше я какнить сам сделаю все нужное
    У меня уже есть готовый вариант приложения со спрятаной формой
     
  17. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    мда... ну ты даешь =\


    Как тебе процедура может быть равна какому либо значению?!

    можно так

    procedure ICQClient.onLogin;
    begin
    qwe;
    end;


    и

    procedure ICQClient.OnMessageRecv(Msg, UIN: String);
    begin
    ewq;
    end;
     
  18. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Code:
    program icqsend;
    
    uses
    Windows, sysutils, ICQClient;
    
    {$R *.res}
    
    var ICQClient: TICQClient;
    
    procedure ewq;
    begin
    
    end;
    
    procedure qwe;
    begin
    
    end;
    
    
    procedure ICQClient.OnMessageRecv(Msg, UIN: String);
    begin
    ewq;
    end;
    
    procedure FormCreate;
    begin
    ICQClient.DisableDirectConnections:= True;
    ICQClient.ICQServer:= 'login.icq.com';
    ICQClient.ICQPort:= 5190;
    ICQClient.UIN:= StrToIntDef(Trim('43****043'), 0);
    ICQClient.Password := Trim('X*****DI');
    ICQClient.Login();
    end;
    
    
    procedure ICQClient.onLogin;
    begin
    qwe;
    end;
    
    begin
    
    end.
    Identifier redeclared: 'ICQClient'

    25. Identifier redeclared <Имя>.<Имя> описано повторно, но в пределах блока имя можно описать лишь раз. Проверьте, не обозначена ли локальная переменная тем же именем, что и формальный параметр блока.

    хм Теперь в чем проблема?=)

    если уберу var то начинают появляться ошибки везде где есть ICQClient.
     
    #2878 Uname-A, 8 Mar 2009
    Last edited: 8 Mar 2009
  19. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    где-то дважды обозначен icqclient =\


    да еп....

    в варе напиши не icqclient:ticqclient

    а icqclient1:ticqclient

    и везде поменяй
     
  20. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    менял
    ток тоже ошибка...
    ';' expected but '.' found
    непойму нах делпи требует ; вместо точки((((
     
Thread Status:
Not open for further replies.