Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];

Вниз

Работа с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
1-1470
col-isaev
2003-08-18 13:42
2003.09.01
ListView


3-1283
edit_box
2003-07-18 11:04
2003.09.01
Как из БД засунуть информацию в Excel 2000.


1-1455
TolikM
2003-08-18 17:38
2003.09.01
SaveDialog для создания каталогов


3-1285
Rel_
2003-08-11 16:02
2003.09.01
Невероятный запрос


14-1589
Echelon
2003-08-13 18:28
2003.09.01
Пустили обезьяну к компу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский