![]()  | 
	
 
  | 
| 
		 
			 
			#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.  |