![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Здравствуйте! вот таким образом заполняется listbox 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	procedure TForm1.AddToMemoCb(AFileName,Atrib:String; ASize,Aid,Arews:Integer);
begin
listbox1.Items.Add(Format('id: %d; File: %s; Size: %d; Reviews: %d; Attribute: %s',[Aid,AFileName,ASize,Arews,Atrib]));
end;Код: 
	procedure TForm1.Button2Click(Sender: TObject);
begin
FileImg('G:\leon\delphis\delphi64\sql2\05\Win32\Debug\db\',AddToMemoCb);
end;Код: 
	procedure TForm1.AddToDbCb(AFileName,Atrib:String; ASize,Aid,Arews: Integer);
begin
SqlConnection1.Open;
try
  SqlQuery1.SQL.Text := 'INSERT INTO test1 (id, name, reviews, size, attribute) VALUES (:id, :name, :reviews, :size, :attribute)';
  {INSERT INTO Info (id,Cost,city)  VALUES (1,200, 'Pune'), (2, 150,'USA'), (3,345, 'France'); }
  SqlQuery1.ParamByName('id').AsInteger := Aid;
  SqlQuery1.ParamByName('name').AsString := AFileName;
  SqlQuery1.ParamByName('reviews').AsInteger := random(5);// Arews;
  SqlQuery1.ParamByName('size').AsInteger := ASize; //inttostr(imgsize);
  SqlQuery1.ParamByName('attribute').AsString := 'fff';
  SQLQuery1.ExecSQL;  Memo1.Lines.Add('Запись_добавлена='+inttostr(Aid)+Afilename+inttostr(ASize));
finally
//PachImage; //добавка в listbox5
SqlConnection1.Close;
end;
//Application.ProcessMessages;
end;  а по строкам, т.е. первая строка записалась, пошла вторая ![]()  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 listbox1a.jpg 
		
	
		
		
			на скрине видно что строка разделена точкой с запятой. можно ли передавать их?   пр: label1:=id; label2:=file; label3:=size; тогда станет понятней (мне). вообще такое возможно? через листбокс  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ну можено парсить обратно. Но я бы просто создал бы объектики и привязал их к итемам листбокса (через AddObject). 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	type
  TFileItemData = class
    FileName : String;
    Atrib : String;
    Size : Integer;
    id : Integer;
    rews:Integer;
    function toString : String;
  end;
function TFileItemData.toString : String
begin
  Format('id: %d; File: %s; Size: %d; Reviews: %d; Attribute: %s',[id,FileName,Size,rews,Atrib]);
end;Код: 
	procedure TForm1.AddToMemoCb(AFileName,Atrib:String; ASize,Aid,Arews:Integer); var obj : TFileItemData; begin obj := TFileItemData.Create; obj.id = aid; obj.FileName := AFileName; obj.Size := ASize; obj.rews := Arews; obj.Atrib := Atrib; listbox1.Items.AddObject(obj.toString,obj); end; Код: 
	obj := ListBox1.Items.Objects[0]; // Здесь индекс элемента AddToDbCb(obj.FileName,obj.Atrib, obj.Size, obj.id, obj.rews);  | 
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
 
leon2009 (13.10.2023)
  | ||
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 ругается  
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	procedure TForm1.Button3Click(Sender: TObject); var i,j,k:integer; obj : TFileItemData; begin obj.id:=1111; obj.FileName := '222222'; obj.Size := 333333; obj:=listbox1.Items.Objects[1]; AddToMemoCb2(obj.FileName,obj.Size,obj.id); end; Код: 
	obj:=listbox1.Items.Objects[1];   когда в integer или string не ругается но и нет значений (или Filename = FORM1) | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 error1a.jpg 
		
	
		
		
			скрин на всякий  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 я про в общем: 
		
	
		
		
		
		
		
		
			Код: 
	obj:=ListBox1.Items.Objects[ListBox1.ItemIndex] as TFileItemData; Код: 
	obj:=ListBox1.Items.Objects[1] as TFileItemData; Последний раз редактировалось leon2009, 14.10.2023 в 20:58.  |