![]() |
|
#1
|
|||
|
|||
![]() Нужно загрузить список в программу с типом Tlist?
|
#2
|
||||
|
||||
![]() А в чем проблемы? Загружай!!!
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() Я не пойму как, приведите кто нибудь пример плиз
|
#4
|
||||
|
||||
![]() Куда ты хочешь его загружать ?
Какой компонент ? Или без разницы ? |
#5
|
||||
|
||||
![]() Код:
procedure TForm1.btLoadClick(Sender: TObject); var MyList: TStringList; // список строк begin MyList := TStringList.Create; try MyList.LoadFromFile('MyFileName'); finally MyList.Free; end; Memo1.Lines.LoadFromFile('MyFileName'); // Memo1.Lines - тоже список строк end; |
#6
|
||||
|
||||
![]() так ему TList надо, я когда то record загружал в TList через указатель на тот самый record:
Код:
type TPluginInfo = record InitInfo: string; Handle: integer; end; PPluginInfo = ^TPluginInfo; var list: TList; PluginInfo,test1: PPluginInfo; begin list := TList.Create; New(PluginInfo); PluginInfo.InitInfo := 'test'; PluginInfo.Handle := 123; list.Add(PluginInfo); // list.Count; // - получить кол-во добавленных элементов test1 := List[0]; // - получить 1ый элемент ShowMessage(test1.InitInfo); //обращение к первому элементу из списка end; Последний раз редактировалось Ultras, 28.02.2010 в 01:37. |
#7
|
||||
|
||||
![]() Цитата:
или сразу после создания списка ссылок можно выбирать? |
#8
|
||||
|
||||
![]() ну я тут просто показал работу с TList, это была работа с плагинами, создание их списка и обращение к ним через этот список (сократил для примера). Как загружать из файла? ну это уже вопрос к тому, кто создавал тему: что именно загружать надо и какой именно список, и откуда?
Последний раз редактировалось Ultras, 26.02.2010 в 22:14. |
#9
|
|||
|
|||
![]() Мне нужно загрузить список через OpenDialog, взять первую строку проделать с ней определенные действия потом проделать это со следующей строкой, и так далее
|
#10
|
||||
|
||||
![]() а, ну тогда смотри 5ый пост от s0Creator (про TStringList).
пример: Код:
var list: TStringList; i: integer; tmp_s: string; begin if OpenDialog1.Execute then begin list := TStringList.Create; list.LoadFromFile(OpenDialog1.FileName); if list.Count = 0 then begin MessageBox(Handle,'Список пуст','Ошибка',MB_OK + MB_ICONERROR); list.Free; Abort; end; // продолжаем, если в списке есть хотя бы одна строка for i:=0 to list.Count-1 do begin tmp_s := list[i] //получаем строку из списка по циклу // ... // тут делаем нужные действия с tmp_s или list // ... // двигаемся к следующей строке и так, до конца цикла end; list.Free; end; end; Последний раз редактировалось Ultras, 27.02.2010 в 00:28. |
#11
|
|||
|
|||
![]() А можно выполнять цикл при нажатии другой кнопки?
|
#12
|
||||
|
||||
![]() Цитата:
Психических заболеваний НЕТ ![]() ![]() Пусть лучше над тобой смеются, чем плачут... |
#13
|
|||
|
|||
![]() Процедура нажатия на первую кнопку - (Загрузка файла в программу)
Процедура нажатия на вторую кнопку - (Проведение операций над строками поочередно) |
#14
|
||||
|
||||
![]() стукни в аську 418018483, там объясню, потом сюда выложу (ибо если здесь объясню, появяцца исчо вопросы, и так до бесконечности)
Психических заболеваний НЕТ ![]() ![]() Пусть лучше над тобой смеются, чем плачут... |
#15
|
||||
|
||||
![]() ну раз в аське не хотите стучать, возьму и расскажу тут (на самом деле путей решения ваше проблемы очень много, это самый простой):
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form1: TForm1; FList: TStringList; // обявляем глобальную переменную для списка (для этого юнита) implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin // тут загружаем файл при нажатии на кнопку Button1 if OpenDialog1.Execute then begin Flist := TStringList.Create; Flist.LoadFromFile(OpenDialog1.FileName); if Flist.Count = 0 then begin MessageBox(Handle,'Список пуст','Ошибка',MB_OK + MB_ICONERROR); Abort; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin FList := TStringList.Create; // создаём список строк end; procedure TForm1.Button2Click(Sender: TObject); {var j: integer; tmp_l: string;} begin // тут работает со списком при нажатии на Button2 { for j:=0 to FList.Count-1 do begin tmp_l := FList[j]; //получаем строку из списка по циклу // тут делаем нужные действия с tmp_s или list end;} ShowMessage(FList[0]); //получаем первую строку end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin FList.Free; // освобождаем память от списка при закритии программы end; end. Психических заболеваний НЕТ ![]() ![]() Пусть лучше над тобой смеются, чем плачут... Последний раз редактировалось Ultras, 28.02.2010 в 19:12. |