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

    Altairk New Member

    Joined:
    29 Feb 2008
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    У меня есть вопрос ребята. Как работать с БД в Delphi 2010?
     
  2. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    ScrollWith - это логическая ширина списка, от которой зависит появится горизонтальная полоса прокрутки или нет.

    Как я понимаю, просили не отобразить полосы прокрутки, а показать как сделать так, чтобы при добавлении нового элемента он был виден за счет прокрутки.

    Не знаю насколько такое решение грамотно, но можно при добавлении элемента в ListBox изменять свойство TopIndex (первая сверху отображаемая строчка) на индекс последней строки.

    Code:
    procedure AddListBoxItem;
    var
      data: string;
    begin
      { здесь производятся нужные действия для формирования строки, 
        которая будет добавлена }
      ListBox1.add(data);
      ListBox1.TopIndex := ListBox1.Items.Count -1;
    end;
    
    В принципе все прокрутится :) Хотя стоило бы наверное от индекса последней строки отнимать количество отображаемых строк.
     
  3. Adalt

    Adalt New Member

    Joined:
    11 Dec 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Люди как можно считать текст из односстрочного редактора edit средствами WinApi Пробывал просто
    Code:
    GetwindowText(h,buf,255)
    но не получилось. Подсткажите. И еще вопрос: как можно распознать типа кнопки? делаю
    Code:
    getclassname(wnd,op,255);
    возвращает button на маркеры, чек-кнопки. Надо както распознать.
     
  4. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0

    Code:
      //text - переменная типа string
      
      SetLength(text, 80);
      GetWindowText(edit1.Handle, pansichar(text), 80);
    
    Вроде бы так...
     
  5. Adalt

    Adalt New Member

    Joined:
    11 Dec 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    неполучилось :( В текстовую перменную ложит одни пробелы. пытался вывести через showmessage размер диалога был большой а ничо не написано.
     
  6. transserg

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

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    Adalt
    поробуй не строку передавать а массив чаров типа
    Code:
    Str:array[0..255] or char;
    
    дожно быть все нормально
     
    #4926 transserg, 13 Dec 2009
    Last edited: 13 Dec 2009
  7. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    Code:
    begin
    AssignFile(Text, 'data/text1.txt');
    Reset(Text);
    while not Eof(Text) do
    begin
    ReadLn(Text, Data);
    Edit1.Text := Data;
    end;
    CloseFile(Text);
    end.
    
    Ошибка в такой легкой задачи... все компилиться, но текст из фпйла не выводит в эдит, хотя текст в файле есть. Что делать?
     
  8. TPAXTOP

    TPAXTOP New Member

    Joined:
    10 Dec 2009
    Messages:
    35
    Likes Received:
    0
    Reputations:
    0
    Need your help again...
    1)Складіть програму для обчислення суми всіх трьохзначних чисел, кратних 25.
    rus:Составьте программу для вычисления суммы всех трехзначительных чисел, кратных 25.
    2)Для кожного стовпця матриці знайти значення та індекс максимального елемента.
    rus:Для каждого столбца матрицы найти значение и индекс максимального элемента.

    помогите, плз....
     
  9. [Dezzter]

    [Dezzter] Elder - Старейшина

    Joined:
    26 Nov 2007
    Messages:
    182
    Likes Received:
    131
    Reputations:
    3
    Code:
    var
    a:array[1..1000] of integer;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
    begin
    Memo1.Clear;
     for i:=1 to 900 do begin
      a[i]:=99+i;
      Memo1.Lines.Add(IntToStr(a[i]));
     end;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var i,s:integer;
    begin
    s:=0;
       for i:=1 to 900 do begin
        if a[i] mod 25=0 then begin
        s:=s+a[i];
        end;
       end;
    Label1.Caption:=IntToStr(s);
    end;
    
    
    Как понять, для каждого столбца матрици найти значение? Какое значение то ?
     
    #4929 [Dezzter], 13 Dec 2009
    Last edited: 13 Dec 2009
  10. Adalt

    Adalt New Member

    Joined:
    11 Dec 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Нет так не получается. Поэтому и написал сюда вот у меня так
    Code:
    var buf:array[0..1000] of char;
    
    GetWindowText(wnd, buf, 255);
    showmessage(buf);
    
    Этот вариант хорошо подходит в случае, когда у нас имеется button или другие классы. А в случает с Edit совсем е катит. пробывал еще так:
    Code:
    GetDlgItemText(wnd, getwindowlong(wnd,GWL_ID), buf, 255);
    Тоже не получается
     
  11. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    Я так понял, что номер и значение максимального элемента в столбце.

    TPAXTOP, лови:

    Code:
    const
      n=3;
    var
      i,j:integer;
      a:array[1..n, 1..n] of integer;
      max, index:integer;
    begin
      for i:=1 to n do
        for j:=1 to n do
          readln (a[i,j]);
      for i:=1 to n do
        begin
         max:=0;
          for j:=1 to n do
            if a[j,i]>max then
              begin
                max:=a[j,i];
                index:=j;
              end;
          writeln ('max = ', max, 'index = ', index);
        end;
    end.
    Впринципе, выводит только номер max-элемента в столбце, просто я так понял. Можно организовать выдачу и номера самого столбца, и строки.
     
    #4931 Thenno, 13 Dec 2009
    Last edited: 13 Dec 2009
  12. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Ну после исполнения кода в edit должна вывестись последняя строчка текстового файла. Если в конце файла пустая строка - то в эдите ничего и не будет.

    Если нужен весь текст, то попробуй так:
    Code:
    ...
    ReadLn(Text, Data);
    Edit1.Text := [COLOR=Red]Edit1.Text + [/COLOR]Data;
    ...
    
     
  13. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    Не работает...эдит как был пустым так им и остался. В чем проблема я не знаю.
    ------------------------------------------
    Поставил такой код:
    Code:
    begin
    Data := 'fgd';
    AssignFile(Text, 'data/text1.txt');
    Reset(Text);
    Edit1.Text := Data;
    CloseFile(Text);
    end.
    
    Тоже не работает. Это вообще не понятно почему.
    ------------------------------------------
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
      Edit1: TEdit;
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      Edit1: TEdit;
      Text: TextFile;
      Data: string;
    
    implementation
    
    {$R *.dfm}
    
    begin
    Data := 'fgd';
    AssignFile(Text, 'data/text1.txt');
    Reset(Text);
    Edit1.Text := Data;
    CloseFile(Text);
    end.
    
    Вот весь код
     
    #4933 DiHWO, 13 Dec 2009
    Last edited: 13 Dec 2009
  14. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0

    Ну как бы... У тебя объявлена глобальная переменная Edit1 типа TEdit, при этом нужный тебе edit является полем класса TForm1. И использовать его можно только после создания формы.

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
      Edit1: TEdit;
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    [COLOR=Red]procedure TForm1.FormShow(Sender: TObject);[/COLOR]
    var
      Text: TextFile;
      Data: string;
    begin
      Data := 'fgd';
      AssignFile(Text, 'data/text1.txt');
      Reset(Text);
      Edit1.Text := Data;
      CloseFile(Text);
    end.
    
     
    #4934 StealthMaster, 13 Dec 2009
    Last edited: 13 Dec 2009
  15. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Code:
    function GetIndex(str: string; var Memo: TMemo): integer;
    var
      i: integer;
    begin
      Result := 0;
      with Memo do
        for i := 0 to Lines.Count - 1 do
          if (Pos(str, Lines[i]) <> 0) then
            begin
              Result := i;
              exit;
            end;
    end;
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      str: string;
    begin
      str := '727GBh11cy';
      ShowMessage(IntToStr(GetIndex(str, Memo1)));
    end;
    
    Вроде бы так, если я правильно понял суть вопроса...
     
    #4935 StealthMaster, 14 Dec 2009
    Last edited: 14 Dec 2009
    1 person likes this.
  16. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    ЖОПА. ничего не работает. и еще почему то нод32 ругаеться, мол вирусы. хотя раньше не ругался, и эдит раньше работал. Кто - нибудь, если не лень, скиньте мне исходник на дельфи с работающим кодом вывода в эдит чего - нибудь. Типо Edit1.Text := '2121'.
     
  17. Jajce

    Jajce New Member

    Joined:
    9 Dec 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Вопрос снят. Если кому надо обращайтесь в личку
     
  18. Nizhegorodets

    Nizhegorodets Member

    Joined:
    21 Mar 2009
    Messages:
    80
    Likes Received:
    66
    Reputations:
    9
    Как реализовать работу WebBrowser через прокси?
     
  19. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
  20. xtra

    xtra New Member

    Joined:
    11 Mar 2007
    Messages:
    26
    Likes Received:
    2
    Reputations:
    0
    как реализовать чтобы паскаль понял слово end?
     
Thread Status:
Not open for further replies.