[ 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. 4ipolino

    4ipolino New Member

    Joined:
    24 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Code:
    ComboBox1.Items.Clear;
    ComboBox1.Items.LoadFromFile('file.txt');
    етот код грузит с файла текст только когда пишеш сам в ComboBox штонить,и нельзя выбрать ни 1 строку
    хелп :D
     
  2. Chapay10

    Chapay10 New Member

    Joined:
    22 Nov 2010
    Messages:
    26
    Likes Received:
    4
    Reputations:
    0
    Можно ли через idhttp загрузить только head страницы?
     
  3. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    http.head(uri);
     
  4. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    побався з властивістю ’Style’
     
  5. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    Ладно. С обработкой событий разобрался. А вот теперь как создавать собственно события? :)
    Как можно добавить событие OnChange на некую переменную?
    Т.е. в потоке создался некий компонент в котором имеется переменная (Compon.String) - изменение которой мне необходимо отследить в этом потоке, причем переменная имеет начальное значении не равное nil.
     
  6. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    ребят, помогите плиз решить пару заданий:

    1) Описaть функцию, которая возврaщает значение TRUE, если в строке буква А встречaется чаще, чем буквa Б, и FALSE в противном случaе.

    2) Задaн текст, состoящий из слов, рaзделенных oдним или несколькими пробелaми. Описать процедуру, фoрмирующую новый тeкст, включив в него слова заданного, раздeленные только одним прoбелом.

    тут компилятор ПаскальАБЦ не подойдет, нужен TP и все это с файлами(не с клавы вводить текст и слова)
     
  7. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    Code:
    function AB(s:string):boolean;
    var i,a,b:integer;
    begin
    a:=0;
    b:=0;
    for i:=1 to length(s) do
     begin
     if copy(s,i,1)='А' then inc(a);
     if copy(s,i,1)='Б' then inc(b);
     end;
    if a>b then Result:=true else Result:=false;
    end;
    
    Code:
    function space(s:string):string;
    begin
    while pos('  ',s)>0 do s:=copy(s,1,pos('  ',s))+copy(s,pos('  ',s)+1,length(s)-pos('  ',s));
    result:=s;
    end;
    
    по второй не уверен... там подгонять надо :) но принцип понятен
     
    #8087 2pick, 4 Apr 2011
    Last edited: 4 Apr 2011
  8. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    2pick, ты шутишь, каждый раз копировать символ, чтобы сверить с буквой, не оптимально как-то, не проще так будет:
    Code:
    function AB(s: String): Boolean;
    var
      i, j: Integer;
    begin
      j:=0;
      for i:=1 to Length(s) do begin
        if s[i]='A' then Inc(j) else
          if s[i]='B' then Dec(j);
     end;
     Result:= j > 0;
    end;
    
     
  9. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    Ну да оптимальней... но за копейки машинного кода биться для лаборатоной по информатике как-то непристало... :)
     
    1 person likes this.
  10. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    Ребят, помогите пожалуйста: как на паскале можно определять наличие единицы переноса при складывании двух чисел типа word? нужен код
     
  11. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    Ищу delphi или VB source подмена hosts может у кого есть поделитесь плиз в пм ;)
     
  12. Patriarch

    Patriarch New Member

    Joined:
    5 Apr 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    помогите с задачкой по комбинаторике

    учебник издан тиражом 100000 экземпляров. Вероятность того, что учебник сброшюрирован неправильно, равно 0,0001. найти вероятность того,что тираж содержит ровно пять бракованных книг.Помогите,пожалуйста,голову поломал уже
     
  13. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    Замучался я в общем... :)))
    Короче в потоке создаю компонент динамически
    Code:
    Comp := TComp.Create(nil);
    далее создал функции на события различные
    Code:
    Comp.OnOnline := onlineproc;
    после чего делаю определенные операции для того чтобы компонент пошел в онлайн и ожидаю обработки события, т.е. тупо поток зацикливаю
    Code:
      while true do
      Application.ProcessMessages();
    Причем если я делаю это в основной форме (без потока и зацикливания соответственно) то реакция происходит практчиески мгновенно(в течении пары секунд), а если в потоке то через секунд 25 где-то. В чем прикол может быть?

    P.S.:с приоритетами потока тоже игрался... разницы никакой


    Разобрался... компонента оказывается тупорылая... Не хотит работать в несколько потоков... поскольку хоть она и не визуальная но использует скрытые окна... для общения с виндой и походу hwnd там один на всю толпу, поэтому нихера из этого не выйдет млять
     
    #8093 2pick, 7 Apr 2011
    Last edited: 7 Apr 2011
  14. xanter

    xanter New Member

    Joined:
    22 Dec 2009
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    как из txt документа одну строчку загрузить в едит?

    допустим у меня есть proxy.txt а в нем 165.234.145.52:6152 при открыти проги чтоб он там уже был в едите, чтоб в ручную не писать ?
     
  15. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    39
    Reputations:
    2
    var f:textfile;
    begin
    AssignFile(f,'c:\file.txt');
    Reset(f);
    Readln(f,Edit1.Text);
    CloseFile(f);
    end;
     
  16. begin_end

    begin_end Green member

    Joined:
    4 Jan 2007
    Messages:
    265
    Likes Received:
    638
    Reputations:
    476
    =\
    В Delphi 7 так не пойдет, нужно читать в переменную:
    Code:
     var f:textfile; s:string;
    begin
     AssignFile(f,'c:\file.txt');
     Reset(f);
     Readln(f,s);
     Edit1.Text:=s;
     CloseFile(f);
    end;
     
    _________________________
  17. Jed7777

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

    Joined:
    16 Jun 2008
    Messages:
    0
    Likes Received:
    11
    Reputations:
    0
    Нужно выдрать три переменные из текста bla1;bla2;bla3
    функцией copy()

    Вот так я делал когда было bla1;bla2
    PHP:
    FAcc:= Copy(Form1.Memo1.Lines.Strings[CurAcc],1,Pos(';',Form1.Memo1.Lines.Strings[CurAcc])-1);
    FPas:= Copy(Form1.Memo1.Lines.Strings[CurAcc],Pos(';',Form1.Memo1.Lines.Strings[CurAcc])+1,Length(Form1.Memo1.Lines.Strings[CurAcc]));
    Тоесть нужно получить из строчки вида bla1;bla2;bla3
    FAcc:= 'bla1';
    FAcc1:= 'bla2';
    FAcc2:= 'bla3';
     
  18. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    зачем так извращаться, все уже реализовано до нас
    дельфи нет, пишу по памяти:

    PHP:
    FAccFAcc1FAcc2string;

    with TStringList.Create do
      try
       
    Delimiter := ';';
       
    DelimitedText := 'bla1;bla2;bla3';
       
    FAcc := Strings[0];
       
    FAcc1 := Strings[1];
       
    FAcc2 := Strings[2];
      finally
        
    Free;
      
    end;
     
    #8098 GhostOnline, 8 Apr 2011
    Last edited: 8 Apr 2011
    1 person likes this.
  19. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Подскажите как сделать.
    В общем подключаюсь к сайту методом GET
    PHP:
    response := IdHtp1.Get('http://'+host+'/tm/kg.txt');
    В ответ приходит текст вот такого типа
    Code:
    user1:pass1
    user2:pass2
    user3:pass3
    
    Надо разбить этот текст на user и pass и присвоить pass1 в edit1, pass2 в edit2 и т.д. соотвественно.
    И так же нужно чтобы при наведении на edit1 показывался(типа подсказки) user1, при наведении на edit2 соответсвенно user2.

    И еще хотелось бы узнать я вот получаю дату вот в таком формате.
    Code:
    date:=FormatDateTime('DD:MM:HH:MM:SS',now);
    
    Как мне вытащить все эти данные по отдельности. То есть отдельно месяц,дни,часы,минуты,секунды,милисекунды. При этом не потерять время которое записано в date.
    То есть при нажатии на кнопку я получаю данную дату и время в вышеуказанном формате. И мне надо вытащить все это по отдельности при этому чтобы даже милиссекунды остались те же после нажатия на кнопку.
     
    #8099 Rastamanka, 9 Apr 2011
    Last edited: 9 Apr 2011
  20. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Rastamanka, если текст небольшой по объему, то можно и простыми pos, copy, delete его разобрать, если большого объема, проще загрузить его в TStringList получать строку 'user:pass' и уже её кромсать на user и pass.

    По поводу всплывающей подсказки, есть такое свойство у TEdit - hint называется, ему присваивай нужный текст, и при задержке курсора он будет отображен или, если хочется большего гемора, то через API назначай BalloonToolTip'ы самостоятельно.

    По времени - получай через GetSystemTime или конвертируй полученное время с помощью DateTimeToSystemTime в системный формат TSystemTime
     
    #8100 alexey-m, 9 Apr 2011
    Last edited: 9 Apr 2011
Thread Status:
Not open for further replies.