Форум: "Прочее";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
ВнизКоварный TStrings :) Найти похожие ветки
← →
Riply © (2007-09-21 07:35) [0]Здравствуйте !
Столкнулась с таким (для меня неожиданным) поведением StringList:
Пусть есть некая pData: PChar (не суть важно каким образом полученная) и List: TStringList;
Делаем примерно следующее:
List := TStringList.Create;
try
with List do
begin
Add(pData);
ShowMessage(IntToStr(Count));
SaveToFile(_TestFile);
Clear;
LoadFromFile(_TestFile);
ShowMessage(IntToStr(Count));
end;
finally
List.Free;
end;
Первый ShowMessage нам говорит, что Count = 1, а второй - Count = 316.
Вот как бывает :)
← →
Cash © (2007-09-21 07:43) [1]Всегда чтоль говорит? :)
т.е. не зависимо от длины pData?
интересно тогда посмотреть на содержимое _TestFile...
← →
Riply © (2007-09-21 07:47) [2]> [1] Cash © (21.09.07 07:43)
> Всегда чтоль говорит? :)
> т.е. не зависимо от длины pData?
Нет. Такое он выдает только для конкретного pData,
плученного по строго определенному рецепту :)
← →
Loginov Dmitry © (2007-09-21 07:52) [3]> Первый ShowMessage нам говорит, что Count = 1, а второй
> - Count = 316.
> Вот как бывает :)
Видимо, в первом случае pData содержит символы перевода строки. Но эта строка запихивается целиком в один Item.
При чтении же из файла, как и положено, для каждой строки создается отдельный итем.
← →
Riply © (2007-09-21 07:59) [4]>[3] Loginov Dmitry © (21.09.07 07:52)
>Видимо, в первом случае pData содержит символы перевода строки.
>Но эта строка запихивается целиком в один Item.
>При чтении же из файла, как и положено, для каждой строки создается отдельный итем.
Угу :)
Просто когда столкнулась, удивилась. Сохраняю одно кол-во строк, а вытаскиваю другое.
← →
KSergey © (2007-09-21 08:21) [5]Занятна женская терминология: "коварный" :)
PS
Нет, нет, я вовсе ен являюсь женоненавистником!
← →
Anatoly Podgoretsky © (2007-09-21 08:36) [6]> Riply (21.09.2007 07:35:00) [0]
Откуда взяла подобную строку? Юникс/Макинтош?
← →
Riply © (2007-09-21 09:14) [7]> [5] KSergey © (21.09.07 08:21)
> Нет, нет, я вовсе ен являюсь женоненавистником!
Все вы так говорите :)
> [6] Anatoly Podgoretsky © (21.09.07 08:36)
> Откуда взяла подобную строку? Юникс/Макинтош?
Нет. Маленькая халтурка: правила ошибки в чужом дипломе. Там и столкнулась.
Кушать то охота :)
← →
Cash © (2007-09-21 11:43) [8]Riply, кушать охота ет хорошо, плохо када неохота :)
попробуй прямое приведение к string, а луч strpas функцию.Add(strpas(pData));
PChar должна быть ограничена нулем справа, так что и это тоже над проверить :)
а так, в качестве дебага, посмотри длину строки pData, содержимое ее.
Еще можно извернуться и сделать так:Memo.Text:=string(pData)
.
Тада будет видно точное содержимое переменной.
← →
Плохиш © (2007-09-21 11:49) [9]
> Riply © (21.09.07 07:59) [4]
> Угу :)
> Просто когда столкнулась, удивилась.
Интересные люди, удивляются корректной, документированной работе методов компонента :-)
← →
Игорь Шевченко © (2007-09-21 12:36) [10]
> Нет. Маленькая халтурка: правила ошибки в чужом дипломе.
> Там и столкнулась.
> Кушать то охота :)
Тебе кушать, а нам потом с такими, с позволения сказать, специалистами, работать
← →
Riply © (2007-09-21 19:02) [11]>[9] Плохиш © (21.09.07 11:49)
>Интересные люди, удивляются корректной, документированной работе методов компонента :-)
Представь себе: Смотришь чужой код. Там некий StringList с которым что-то не то.
Чтобы иметь возможность воспроизвести ситуацию, сохраняешь его.
А когда загружешь, то выясняется, что новый List это совсем не старый :)
>[10] Игорь Шевченко © (21.09.07 12:36)
> Тебе кушать, а нам потом с такими, с позволения сказать, специалистами, работать
Ну... это же не самый страшный вариант.
Во всяком случае он пытался выполнить работу сам (и что-то сделал),
а не попросил все написать за него :)
← →
Сергей М. © (2007-09-21 19:31) [12]
> Riply
Все фигня, кроме пчел, да и пчелы фигня)
Ты вот что нашей честнОй компании поведай - в момент создания топика причины сабжа были тебе уже известны или подвиг в [4] ты совершила под бомбежкой гнилыми томатами и тухлыми яйцами ?)
Эт, пожалуй, будет намного интересней всей той скучной стрингботвы)..
← →
Сергей М. © (2007-09-21 19:34) [13]Хм ..
Вот ведь я ляпнул идею)
Пожалуй возьму себе на вооружение - класс TStringBotva, пожалуй, будет покруче TStringList)
← →
Riply © (2007-09-21 19:39) [14]> [12] Сергей М. © (21.09.07 19:31)
>Ты вот что нашей честнОй компании поведай - в момент создания топика причины
>сабжа были тебе уже известны или подвиг в [4]
>ты совершила под бомбежкой гнилыми томатами и тухлыми яйцами ?)
Если бы я не знала в чем дело, то задала бы вопрос в "Начинающих"
ибо лишена комплекса "страха задать глупый(простой, тривиальный) вопрос" :)
P.S.
Еще и скромная к тому же :)
← →
Сергей М. © (2007-09-21 19:43) [15]
> Riply © (21.09.07 19:39) [14]
</I
>
> Если бы я не знала в чем дело, то задала бы вопрос в "Начинающих"
Пугать компанию "страшилками" про СтрингЛист, я понимаю, интересней)
> Еще и скромная к тому же
Стесняюсь спросить - комсомолка ? активистка ? красавица ?
))
← →
Сергей М. © (2007-09-21 19:46) [16]
> ибо лишена комплекса
Да видим мы все)
Да умничка же ! Да так и держать !
Дай же бог тебе терпения, когда "наезды" на тебя становятся явно нетерпимыми)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.047 c