[ 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



    Code:
    var i,j:integer;
    m,k:string;
    begin
    i:=0;
    j:=1;
    for i=0 to memo1.lines.count-1 do
    begin
    for j=1 to lenght(memo1.lines[i]) do
    begin
    m:=memo1.lines[i];
    k:=memo1.lines[i];
    if m[j]:='@' then
    begin
    delete (m,j,maxint);
    delete(k,1,j);
    end;
    end;
    end;
    end;
    
    проверь, должно работать...
    писал без подсветки синтаксиса и не в компиляторе.
     
    #2801 AlexTheC0d3r, 28 Feb 2009
    Last edited: 28 Feb 2009
  2. Uname-A

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

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    У тебя в слове 'длина' ошибка =)
    lengt => length
    А так все ок Код рабочий СПС
     
  3. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    ребята у меня такой вопрос по паскалю , мне нужно чтобы когда пользователь вводил информацию происходила проверка вводит ли он в поле для цифр цифры или буквы, чтобы программа не вылетала а писала что нужно ввести правильный тип данных и снова предлагала ввести информацию. Как это можно реализовать?
     
  4. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    if not( Key in ['0'..'9'] ) then
    Key := #0;

    В евенте onkeydown
     
  5. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    В каком ещё ивенте? Такое есть в паскале? помоему это в делафи , а мне в Pascal надо
     
  6. W!z@rD

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

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    while(true)
    begin
    try
    забыл уже как на Delphi :(
    Вобщем просто тупо тут пробуешь сделать Val (если я не ошибаюсь, функция переводит из string в integer;
    если
    except
    Извините вы ввели не числа :(
    end;

    вобщем логика такова, я на дельфи уже год не пишу, даже больше, подзабыл
     
  7. B1ack

    B1ack New Member

    Joined:
    12 Feb 2008
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Простой клиент-сервер,запускается но меседж не выскакивает.Помогите найти ошибку.
    Code:
    var   
      Form1: TForm1;   
      tserv: TTcpServer;   
      tclient:TTcpClient;   
      t: string;   
      
    procedure TForm1.FormCreate(Sender: TObject);   
    begin   
      tserv:=TTcpServer.Create(NIL);   
      tserv.LocalPort:='1111';   
      tserv.Active:=True;   
      begin   
        repeat   
        sleep(500);   
        t:=tserv.Receiveln();   
        if t='test' then   
          MessageBox(0, 'test', 'test',0);   
        until true   
      end;   
    end;   
      
    procedure TForm1.Button1Click(Sender: TObject);   
    begin   
      tclient:=TTcpClient.Create(NIL);   
      tclient.RemoteHost:='127.0.0.1';   
      tclient.RemotePort:='1111';   
      tclient.Active:=True;   
    end;   
      
    procedure TForm1.Button2Click(Sender: TObject);   
    begin   
      tclient.Sendln('test');   
    end;
     
  8. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    В паскале надо юзать val(st, int, code), где st- строка, int - целое число, code - код возврата( будет возвращать значение = 0 если нет ошибки, т.е. если у вас в строке чистое число)

    гугли дальше :)
     
    1 person likes this.
  9. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    проще TryStrToInt )
     
  10. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Человек просил на Паскале, а не в Дельфи. Разве try-except имеет место в Паскале? Это ж не ООЯП, тут ток run-time error's могут иметь место :)

    А вот насчёт val - это тру =)
    Code:
    repeat
       readln(mystr);
       Val(mystr, num_int, errorflag);
       if errorflag = 0 then writeln('not a number');
    until (errorflag <> 0);
    Либо тупо проверяем все символы на принадлежность к [0..9] , но это малясь извращённее)
    Нечто типо
    Code:
    readln(s);
    c:=0;
    for q:= 0 to length(s) do begin
      for i:=0 to 9 do begin;
      if copy(s,q,1)=IntToStr(i) then c:=c+1;
      end;
    end;
    if c<>length(s) then writeln('Это не число') else writeln('Это число');
     
    1 person likes this.
  11. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    помоему надо пользоваться TTcpServer.ReadLn();
     
  12. B1ack

    B1ack New Member

    Joined:
    12 Feb 2008
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Undeclared identifier....
     
  13. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    Функция предназначена дла проверки значения строки:
    Code:
    type
      TTypeStr = (tsString, tsDate, tsNumber);
    
    function CheckString(const Value: string): TTypeStr;
    begin
      if StrToDateTimeDef(Value, 0) = 0 then
        if StrToIntDef(Value, 0) = 0 then
          Result := tsString
        else
          Result := tsNumber
      else
        Result := tsDate
    end;
     
    1 person likes this.
  14. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Ребят спасибо , сейчас буду разбираться!
    Я уж думал никто не заметил этих слов)))

    Попробовал сделать , этот код выводит что не число если вводишь число , и только 2 раз можно сделать ввод кода, потом вылетает(((

    Можешь написать пожалуйста код маленькой проги , которая будет проверять является ли введёная строка цифрами или буквами, и если не сложно мож ещё написать код функции для использования её в программах. Хотелось бы так что пишеться name_of_function(name_of_x);
    имя функции , а в ней имя переменной которой нужно считать. ТОесть эта функция должна заменять стандартный read но с проверкой! Если от меня чтото понадоиться чем смогу помогу, заранее благодарен!
     
    #2814 Djezul, 1 Mar 2009
    Last edited: 1 Mar 2009
  15. cremator (c)

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

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    2 people like this.
  16. s.p.a.m

    s.p.a.m Banned

    Joined:
    26 Jan 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    На форме есть компонент webbrowser1.
    Я допустим с помощью него перешел на страницу1, а потом с неё же перешел по ссылкам на странице1.Вот мне нужно узнать на каком URL адресе сейчас находится webbrowser1?
     
  17. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Ну тогда так..Дальше уж реализуешь, думаю:)
    Code:
    program tmp;
    var
      a: integer;
      begin
    write('Enter a number: ');
    {$I-}
     readln(a);
    {$I+}
    if (ioresult <> 0) then begin
      writeln('Its not integer');
      readln(a);
    end else begin
      write('All rigth, its integer');
      readln(a);
    end;
    end.
    
    
     
    1 person likes this.
  18. cremator (c)

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

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    WebBrowser1.LocationURL
     
  19. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Спасибо огромное , всё работает)) Только незнаю пока зачем нужно {$I-} и {$I+}
    С этим ioresult , разберусь )) Короч +5 тебе )
     
  20. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    Djezul
    {$I-} выключает отображение ошибок
    {$I+} включает
     
Thread Status:
Not open for further replies.