Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.01;
Скачать: CL | DM;

Вниз

Работа с TStringList   Найти похожие ветки 

 
SIW ©   (2003-08-17 19:37) [0]

Программеры я новичок в Delfi плиз помогите мне разобраться с TStringList. У меня есть массив строк, который заполняется в программе, мне надо занести все данные из этого массива в TStringList, при этом мне нужен и масив и StringList. Что я только не пробовал, но ни чего не получается. Кусок моей программы выглядит так:

...
allcommands:tstringlist;
commands:array [0..manycomands]of string;
....

procedure tform1.fillcommands;
var
i:byte;
begin
commands[0]:="BGN";
...
commands[16]:="SLP";
allcommands:=tstringlist.Create;
allcommands.clear;
for i:=1 to manycomands do
allcommands.Add(commands[i]);
end;


 
Marconi ©   (2003-08-17 19:43) [1]

for i:= 1 to manycomands do
первый должен быть 0 ! поскольку
commands:array [ 0..manycomands]of string;
а то вылетишь за придел


 
Anatoly Podgoretsky ©   (2003-08-17 19:43) [2]

Ну занесет с commands[1] по manycomands в список, все нормально, если тебе не нужна commands[0] и manycomands <= 16


 
Marconi ©   (2003-08-17 19:44) [3]

может и не вылитешь но придет точно не все =)


 
Боян Георгиев   (2003-08-17 19:45) [4]

Ошибка произошла потому что ты не создал инстанцию TStringGrid-a.

В процедуру FormCreate пиши:

AllCommands := TStringList.Create;

A в процедуру FormClose:

AllCommands.Free;


 
Marconi ©   (2003-08-17 19:47) [5]

то Борис:
а это что: allcommands:=tstringlist.Create;


 
Anatoly Podgoretsky ©   (2003-08-17 20:00) [6]

Боян Георгиев (17.08.03 19:45) [4]
Он создал, но в другом месте.
Плохо другое, вот он кинул кусок кода и молчит, не говорит с чем у него проблема.


 
SIW ©   (2003-08-17 20:13) [7]

проблема у меня с тем что TStringList не заполняется, te lfyyst d ytuj yt pfgbcsdf.ncz


 
SIW ©   (2003-08-17 20:16) [8]

т.е. данные в него не записываются...(поправка)


 
Боян Георгиев   (2003-08-17 20:18) [9]

да, проблем нет в создании.
Но что это "te lfyyst d ytuj yt pfgbcsdf.ncz"


 
SIW ©   (2003-08-17 20:21) [10]

я поправился : "т.е. данные в него не записываются..."


 
Боян Георгиев   (2003-08-17 20:21) [11]

1. Попробуй заменить константу manycomands с числом.
2. Попробуй добавить на конце процедуру строк:

ShowMessage(AllCommands[AllCommands.Count - 1]);
AllCommands.Free;


 
Anatoly Podgoretsky ©   (2003-08-17 20:23) [12]

Тогда ошибка у тебя в другом месте, здесь все в порядке, за исключением того, что тебе сказали про индексы. Разве что allcommands.clear; просто лишняя, но это не ошибка.


 
Боян Георгиев   (2003-08-17 20:24) [13]

Компилятор наверно не пишет в лист по-тому что стойности в листе не изпользоватся. Поэтому попробуй:

ShowMessage(AllCommands[AllCommands.Count - 1]);

в конце.


 
SIW ©   (2003-08-17 20:29) [14]

Всем спасибо за помощь. теперь всю прогу перекапывать :((


 
Anatoly Podgoretsky ©   (2003-08-17 20:51) [15]

Боян Георгиев (17.08.03 20:24) [13]
Это сразу ему покажет SLP
Но судя по его последнему сообщению он это уже сделал :-)


 
VID ©   (2003-08-17 20:59) [16]


Var AllCommands:TStringList;
Commands:array[0..ManyCommands] of string;

{....}

procedure tform1.fillcommands;
var i:byte;
begin
commands[0]:="BGN";
{...}
commands[16]:="SLP";
allcommands:=tstringlist.Create;
try
for i:= 0 to ManyCommands do
allcommands.Add(Commands[i]);
ShowMessage("AllCommands.Count = "+IntToStr(AllCommands.Count));
finally
AllCommands.Free;
end;
end;


если этот код работать не будет, проверь не зависла ли над твоим домом НЛО:)


 
Боян Георгиев   (2003-08-17 21:03) [17]

Удалено модератором


 
Anatoly Podgoretsky ©   (2003-08-17 21:08) [18]

VID © (17.08.03 20:59) [16]
Этот код будет работать и с for i:=1 только будут разные результатами



Страницы: 1 вся ветка

Текущий архив: 2003.09.01;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
1-1414
Aleksandr
2003-08-15 14:41
2003.09.01
Как освободить спящий поток?


4-1722
AlexRush
2003-06-21 18:47
2003.09.01
NtQuerySystemInformation - Как получить PID ?


1-1373
Question
2003-08-16 18:03
2003.09.01
Указателю на динамический массив значения после GetMem


1-1403
Checist [root]
2003-08-16 03:31
2003.09.01
Gif формат в Image


1-1470
col-isaev
2003-08-18 13:42
2003.09.01
ListView