imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 01.07.2007, 16:42     # 1
IgoRReHa
Guest
 
Сообщения: n/a

Помогите с Делфи

ПРоблема со списками в Делфи. Чем являются списки в Делфи? Компонентм или как?

добавлено через 12 минут
Просто делаю описание одному типу по программированию на В/у а он чего то толком не может объяснить че такое списки
 
Старый 02.07.2007, 11:04     # 2
Flexz
Newbie
 
Регистрация: 17.06.2002
Сообщения: 30

Flexz Путь к славе только начался
не совсем понятно что именно нужно. Связные списки, обычные массивы или что-то специфичное для дельфей - TList, TCollection, TStack и тд. Все это можно обозвать списками.
Flexz вне форума  
Старый 02.07.2007, 17:55     # 3
IgoRReHa
Guest
 
Сообщения: n/a

мне надо сделать описание программульки, щас покажу код:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
ListBox2: TListBox;
Label1: TLabel;
Panel1: TPanel;
Memo1: TMemo;
Label2: TLabel;
procedure ListBox2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ListBox2Click(Sender: TObject);
var i, FNum: Integer;
s: String;
begin
if ListBox2.Selected[0] then
begin
// Создание списка
Memo1.Clear;
Memo1.Lines.Add('var List: TStringList; // Описание переменой');
Memo1.Lines.Add('...');
Memo1.Lines.Add('List:=TStringList.Create; // Создание объекта');
ListBox1.Clear;
end;
if ListBox2.Selected[1] then
begin
// Добавление элемента
Randomize;
Memo1.Clear;
s:=InputBox('Внимание','Строка:','Новая строка');
Memo1.Lines.Add('List.Add('''+s+''');');
ListBox1.Items.Add(s);
end;
if ListBox2.Selected[2] then
begin
// Удаление элемента
Memo1.Clear;
s:=InputBox('Внимание','Номер строки:','0');
Memo1.Lines.Add('List.Delete('+s+'); // Удаляем строку номер 0');
if ListBox1.Count>0 then ListBox1.Items.Delete(StrToInt(s));
end;
if ListBox2.Selected[3] then
begin
// Выборка элемента из списка
Memo1.Clear;
s:=InputBox('Внимание','Номер строки:','0');
Memo1.Lines.Add('Write(List.Strings['+s+']); // Выводим элемент номер 0');
if ListBox1.Count>0 then
Application.MessageBox(pchar(ListBox1.Items.Strings[StrToInt(s)]),'Список',0);
end;
if ListBox2.Selected[4] then
begin
// Поиск по списку
Memo1.Clear;
s:=InputBox('Внимание','Строка:','Новая строка');
Memo1.Lines.Add('var i, FNum: Integer;');
Memo1.Lines.Add('...');
Memo1.Lines.Add('FNum:=-1;');
Memo1.Lines.Add('for i:=0 to List.Count do');
Memo1.Lines.Add(' if List.Strings[i]=''Строка поиска'' then');
Memo1.Lines.Add(' begin FNum:=i; break; end;');
Memo1.Lines.Add('Write(FNum); // Выводим номер найденного элемента');
FNum:=-1;
for i:=0 to ListBox1.Count do
if ListBox1.Items.Strings[i]=s then
begin FNum:=i; break; end;
Application.MessageBox(pchar(IntToStr(FNum)),'Список',0);
end;
if ListBox2.Selected[5] then
begin
// Сортировка списка
Memo1.Clear;
Memo1.Lines.Add('List.Sort;');
Memo1.Lines.Add(' // Сортировка списка');
ListBox1.Sorted:=true;
ListBox1.Sorted:=false;
end;
if ListBox2.Selected[6] then
begin
// Очистка списка
Memo1.Clear;
Memo1.Lines.Add('List.Clear;');
Memo1.Lines.Add(' // Очистка списка');
ListBox1.Clear;
end;
end;

end.


Как видищь он с комментами, но их мало.
 
Старый 06.07.2007, 15:08     # 4
Flexz
Newbie
 
Регистрация: 17.06.2002
Сообщения: 30

Flexz Путь к славе только начался
Забавный код И по-моему комментов достаточно фактически на каждое действие.
Flexz вне форума  
Старый 28.07.2007, 12:05     # 5
dr.Serj
Guest
 
Сообщения: n/a

вытянуть все комменты из текста программы и обобщить
 
Старый 18.08.2007, 11:22     # 6
XBOHDPuKC
Guest
 
Сообщения: n/a

какой ужас
все, что используется в коде Вашей программы -- компоненты, если делаете переменную типа, например, TStringList, то это будет объект.
 


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:40.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.