Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
#1

listbox1.Items.Assign - Delphi

02.05.2011, 21:05. Просмотров 1985. Ответов 10
Метки нет (Все метки)

Delphi
1
2
var
  mem,send,mema:TStringList;
Delphi
1
2
3
mem:=tstringlist.Create();
send:=tstringlist.Create();
mema:=tstringlist.Create();
Delphi
1
2
3
4
5
mem.LoadFromFile(unit1.adress);
mema.AddStrings(mem);
mema.AddStrings(send);
mema.SaveToFile(unit1.adress);
listbox1.Items.Assign(mema);
такая конструкция работоспособна? (ошибок не выдает),но и результата нет

Добавлено через 1 минуту
Delphi
1
send.Text:=memo1.text;
и вот так вот можно?ошибок опять - же нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 21:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос listbox1.Items.Assign (Delphi):

assign - Delphi
Почему когда я пиши в какой либо процедуре assign выдаёт ошибку ?

Delphi. Метод Assign() - Delphi
Здравствуйте. У меня не работает следующий код: var ADOQuery1: TADOQuery; begin ADOQuery1 := TADOQuery.Create(Form1); ...

Cannot assign to a read-only property - Delphi
Доброй ночи или утра. for k:=0 to 33 do begin for j:=0 to min(4,High(Mass)) do begin Form9.Chart1.Series:=TLineSeries.Create(self);...

idCookieManager.cookieCollection.items[0].Value и idCookieManager.cookieCollection.items[0].CookieName - Delphi
Нашел пример в интернете, там фигурируют: idCookieManager.cookieCollection.items.Value и...

c ListBox1 в ListBox2 - Delphi
Здравствуйте!!! Сижу выполняю лабу по учебе , учу его токо недавно толком незнаю, в примере есть два кнопка: 1. ">" - эта кнопка для...

Listbox1 скрол - Delphi
Как сделать так, что б у listbox1 и listbox2 ползунок двигался одновременно и на одинаковом положении был всегда?

10
Mawrat
12789 / 5696 / 672
Регистрация: 19.09.2009
Сообщений: 8,838
02.05.2011, 22:06 #2
Delphi
1
  listbox1.Items.Assign(mema);
При выполнении этого метода, данные из mema будут скопированы в ListBox1.Items.
0
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
03.05.2011, 16:18  [ТС] #3
этого я и хочу,но почемуто listbox остается пустым
0
unick12345
1315 / 1006 / 58
Регистрация: 27.03.2009
Сообщений: 3,748
03.05.2011, 16:33 #4
а то что загружается в mem выводится? я не могу понять этого
Delphi
1
unit1.adress
0
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
03.05.2011, 17:17  [ТС] #5
нет,то что загружается в мем это txt файл,он не выводится
0
Mawrat
12789 / 5696 / 672
Регистрация: 19.09.2009
Сообщений: 8,838
03.05.2011, 17:21 #6
Цитата Сообщение от unick12345 Посмотреть сообщение
unit1.adress
Это обращение к переменной adress, которая объявлена в модуле Unit1 в разделе Interface.
---
spydark91, если после выполнения команды Listbox1.Items.Assign(mema); в ListBox1 пусто, значит mema на момент вызова тоже был пуст.
0
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
03.05.2011, 17:30  [ТС] #7
дак вот это и странно,поэтому и прошу помочь найти ошибку

Добавлено через 54 секунды
переменные mem и send заполняются
вот код всей второй формы
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm2 = class(TForm)
    ListBox1: TListBox;
    Memo1: TMemo;
    Button1: TButton;
    Timer1: TTimer;
    Timer2: TTimer;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Memo1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Memo1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
f:TextFile;
mem,send,mema:TStringList;
priv:string;
c:integer;
 
 
 
 
 
 
 
 
implementation
uses unit1,unit3;
 
{$R *.dfm}
 
 
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
case messagebox(form2.Handle,'Г‡Г*êðûòèå Г·Г*ГІГ*', 'Âû óâåðåГ*Г»? Âñÿ ïåðåïèñêГ* áóäåò ГіГ¤Г*ëåГ*Г*',MB_ICONWARNING or MB_OKCANCEL) of
IDOK: if form1.CheckBox1.Checked then form1.Close;
IDCANCEL:
 
end;
end;
 
procedure TForm2.FormShow(Sender: TObject);
begin
c:=0;
priv:=(unit1.nick)+' ãîâîðèò: '+ 'Âñåì ïðèâåò';
mem:=tstringlist.Create();
send:=tstringlist.Create();
mema:=tstringlist.Create();
assignfile(f,unit1.adress);
rewrite(f);
writeln(f,priv);
CloseFile(f);
timer1.Interval:=1700;
end;
 
procedure TForm2.Timer1Timer(Sender: TObject);
begin
mem.LoadFromFile(unit1.adress);
mema.AddStrings(mem);
mema.AddStrings(send);
mema.SaveToFile(unit1.adress);
listbox1.Items.Assign(mema);
timer1.Interval:=0;
end;
 
procedure TForm2.Timer2Timer(Sender: TObject);
begin
memo1.ReadOnly:=false;
timer2.Interval:=0;
end;
 
procedure TForm2.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_CONTROL then c:=1;
if c=1 then
       if key=VK_RETURN then
                        begin
                        send.Text:=memo1.text;
                        timer2.Interval:=3000;
                        memo1.ReadOnly:=true;
                        memo1.Lines.Clear;
 
                        
                        end
 
 
 
end;
 
procedure TForm2.Memo1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_CONTROL then c:=0;
end;
 
end.
0
Mawrat
12789 / 5696 / 672
Регистрация: 19.09.2009
Сообщений: 8,838
03.05.2011, 19:32 #8
spydark91, я сымитировал ситуацию. Т. е., взял этот код, но оформил всё в пределах формы TForm1 и модуля Unit1. Всё отрабатывает как положено - при показе формы, в файл записывается одна строка. Потом, когда срабатывает таймер Timer1, содержимое файла попадает в ListBox1 (одна строка).
0
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
03.05.2011, 19:36  [ТС] #9
а как же переменная send (он заполняется содержымым memo1.text,строка 96),ее содержимое не выводится
0
Mawrat
12789 / 5696 / 672
Регистрация: 19.09.2009
Сообщений: 8,838
03.05.2011, 20:01 #10
Цитата Сообщение от spydark91 Посмотреть сообщение
а как же переменная send (он заполняется содержымым memo1.text,строка 96),ее содержимое не выводится
Потому что программа вывода в ListBox1 прекращает свою работу через 1.7 секунды после показа Формы 2. Так настроен Timer1 - он запускается в момент показа формы. Затем он отсчитывает 1.7 секунды и записывает в ListBox1 содержимое файла и содержимое из send. После этого Timer1 останавливается и никакая запись в ListBox1 уже не происходит. А в send строки записываются из Мемо1 в случае нажатия Ctrl+Enter. Т. е. если от момента появления Формы 2 на экране, за 1.7 секунды успеть что-то ввести в Мемо1 и нажать Ctrl+Enter, тогда в ListBox1 попадут строки из файла и из Memo1. Если всё это не успеешь проделать в течение 1.7 секунды - тогда в ListBox1 данных из Мемо1 не будет.
В общем, spydark91, тебе надо архитектуру программы продумать.
---
И ещё в программе надо подправить:
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (ssCtrl in Shift) and (key=VK_RETURN) then begin
    send.Text:=memo1.text;
    timer2.Interval:=3000;
    memo1.ReadOnly:=true;
    memo1.Lines.Clear;
  end;
end;
1
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
03.05.2011, 20:08  [ТС] #11
спасибо огромное)
0
03.05.2011, 20:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 20:08
Привет! Вот еще темы с ответами:

ListBox1 и Memo1 - Delphi
Здравствуйте, у меня такой вопрос, на форме есть ListBox1 и Memo1 в лист боксе у меня 3 строки, ну или больше вопрос такой, как мне...

Вычисление по содержимому в ListBox1 - Delphi
Вот у меня на форме: Edit1, Edit2, Button1, Listbox1. 1)В Edit1 пишем или чар или инт. 2)Когда нажимаем на Button1 то содержимое в...

Не работает ListBox1 Delphi - Delphi
Здравствуйте. Не могу понять, на ListBox, не что не появляется. Заранее благодарю. unit Unit1; interface uses Windows,...

Текст из txt в ListBox1 - Delphi
в тхт файле у меня такого формата цифры 1 2 3 4 5 6 7 Мне нужно чтобы они поместились в листбокс по очереди


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru