Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2007, 23:54   #1
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию как правильно работать с массивом TStrings

В функции поиска файла я вывожу результат в виде массива (TStrings).
всё бы ничего, у меня ошибка одступа выскакивает (Access violation...)

Что здесь не так:
Код:
Var S:TStrings;
...
Begin
S.create;      //Здесь уже ошибка.
S.add('qwe');
...
S.free;
Подскажите как правильно работать с массивом TStrings

Заранее благодарю.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 19.12.2007, 00:03   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Используй TStringList. Это решит все твои проблемы.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 19.12.2007, 00:19   #3
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Я что-то не так делаю.

Если пишу - S.create; - выдаёт Access violation...
Если не пишу - S.create; - выдаёт Privileged instruction

Как его инициализировать?

P.S. Может память надо выделять, то как..?
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 19.12.2007, 00:28   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Все проще. Вы не умеете создавать. Вот как это делается:
S:=TStringList.Create;
Это - единственное изменение в приведенном вами коде, которое нужно сделать.
mihali4 вне форума Ответить с цитированием
Старый 19.12.2007, 00:48   #5
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Все проще. Вы не умеете создавать. Вот как это делается:
S:=TStringList.Create;
Это - единственное изменение в приведенном вами коде, которое нужно сделать.
Цитата:
Сообщение от AlDelta Посмотреть сообщение
Используй TStringList. Это решит все твои проблемы.
Функция заработала,
благодарю Вас.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 19.12.2007, 13:22   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Да и кстати, TStrings - это не массив, почитайте про классы, вопросы и уйдут!
BOBAH13 вне форума Ответить с цитированием
Старый 19.12.2007, 17:55   #7
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Да.., спасибо, учту.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с массивом kommunist Паскаль, Turbo Pascal, PascalABC.NET 7 27.05.2010 19:00
Проблеммы с массивом Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 21.04.2008 21:25
Проблема с TStrings Никки Общие вопросы Delphi 11 16.02.2008 20:42
Функции и TStrings tebeen Паскаль, Turbo Pascal, PascalABC.NET 7 18.09.2007 20:09