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

Вниз

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

 
KyRo   (2006-03-15 10:27) [0]

Подскажите почему может при загрузке из файла данных  в список
у меня теряется первый символ каждой строки

//Читаем значение списка файлов
  ListFile.LoadFromFile("fn.tmp");

FileName:= ListFile.ValueFromIndex[i];
      Ini.WriteInteger(FileName,"ProcesID",0);


 
Сергей М. ©   (2006-03-15 10:32) [1]

Как это "теряется" ? На основании чего сделан такой вывод ?
Поясни ..


 
Ega23 ©   (2006-03-15 10:32) [2]


> ValueFromIndex[i];


Чё это за метод такой странный???


 
Dmitrij_K   (2006-03-15 10:33) [3]

Что находится в файле fn.tmp?
Определил .Delimiter?


 
Dmitrij_K   (2006-03-15 10:34) [4]

Построчно файл читается так
StringList[0]
StringList[1]
...


 
clickmaker ©   (2006-03-15 10:37) [5]


> Ega23 ©   (15.03.06 10:32) [2]
>
> > ValueFromIndex[i];
>
>
> Чё это за метод такой странный???

наверно это в Д2003 аналог Values[Name], но по индексу


 
KyRo   (2006-03-15 11:10) [6]


> наверно это в Д2003 аналог Values[Name], но по индексу

нет это делфи 7 -й

В файле находится следующее

D:\tmplog\edclocal(14).dat
D:\tmplog\edclocal(6).dat
D:\tmplog\edclocal(7).dat
D:\tmplog\edclocal(8).dat
D:\tmplog\edclocal(9).dat
D:\tmplog\edclocal(10).dat
D:\tmplog\edclocal(11).dat
D:\tmplog\edclocal(12).dat
D:\tmplog\edclocal(13).dat


я считываю список этих строк в стринг лист
а потом формирую ини файл с настройками вот таким образом


 For i:= 0 to ListFile.Count -1 do
   Begin
      FileName:= ListFile.ValueFromIndex[i];
      Ini.WriteInteger(FileName,"ProcesID",0);
      Ini.WriteString(FileName,"ProcesStatus","Null");
      Ini.WriteString(FileName,"StatusOp","Wake");
      end;


На выходе получаю ини файл


[:\tmplog\edclocal(14).dat]
ProcesID=0
ProcesStatus=Null
StatusOp=Wake
[:\tmplog\edclocal(6).dat]
ProcesID=0
ProcesStatus=Null
StatusOp=Wake
[:\tmplog\edclocal(7).dat]
ProcesID=0
ProcesStatus=Null
StatusOp=Wake


И вот в нем первого символа в каждой строке переданой из списка нет !!!
Почему это может быть не пойму.


 
KyRo   (2006-03-15 11:12) [7]

List.Strings[i]; щас попробую так может тот метод с глюком


 
Ega23 ©   (2006-03-15 11:17) [8]


> так может тот метод с глюком


Я в этом ОЧЕНЬ СИЛЬНО сомневаюсь.


 
Плохиш ©   (2006-03-15 11:21) [9]


> KyRo   (15.03.06 11:12) [7]
> List.Strings[i]; щас попробую так может тот метод с глюком

Просто у кого-то проблемы с логикой и нет желания читать документацию.


 
KyRo   (2006-03-15 11:22) [10]

Проверил
List.Strings[i]; дает нормальный результат на выходе получаю

D:\tmplog\edclocal(5).dat

А метод
ListFile.ValueFromIndex[i];
тоже самое выдает


> :\tmplog\edclocal(5).dat

Из за чего это может быть понятия не имею !!!


 
KyRo   (2006-03-15 11:23) [11]


> Просто у кого-то проблемы с логикой и нет желания читать
> документацию.

Что ты имееш в виду ?


 
clickmaker ©   (2006-03-15 11:24) [12]


> KyRo   (15.03.06 11:12) [7]

function TStrings.GetValueFromIndex(Index: Integer): string;
begin
 if Index >= 0 then
   Result := Copy(Get(Index), Length(Names[Index]) + 2, MaxInt) else
   Result := "";
end;


 
Ega23 ©   (2006-03-15 11:24) [13]


> Что ты имееш в виду ?


Что прежде чем обвинять метод в глючности, надо бы сначала справку по нему почитать.


 
Сергей М. ©   (2006-03-15 11:25) [14]


> KyRo


Метод ValueFromIndex имеет смысл только для списка строк, каждая из которых имеет структуру

NAME=VALUE

А твои строки по структуре не соответствуют этому требованию


 
Ega23 ©   (2006-03-15 11:26) [15]


> clickmaker ©   (15.03.06 11:24) [12]


А справку по методу можешь выложить? А то у меня D5.


 
clickmaker ©   (2006-03-15 11:33) [16]


> Ega23 ©   (15.03.06 11:26) [15]

Represents the value part of a string with a given index, on strings that are name-value pairs.

Delphi syntax:

property ValueFromIndex[Index: Integer]: string;

C++ syntax:

__property AnsiString ValueFromIndex[int Index] = {read=GetValueFromIndex, write
=SetValueFromIndex};;

Description

When the list of strings for the TStrings object includes strings that are name-value pairs, use ValueFromIndex to get or set the value part of a string associated with an index.

For more information on name-value pairs, refer to the NameValueSeparator property.

Но по коду и так всё ясно )


 
Ega23 ©   (2006-03-15 11:44) [17]


> Но по коду и так всё ясно )


Не совсем было понятно, почему +2 и что за Names.
Теперь, конечно, всё ясно...  :о)



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

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

Наверх




Память: 0.5 MB
Время: 0.043 c
2-1142912102
boalse
2006-03-21 06:35
2006.04.02
Биты и байты


11-1123695011
raskin
2005-08-10 21:30
2006.04.02
KOL - 2.10 - KeyPreview


3-1139309450
John_Doe
2006-02-07 13:50
2006.04.02
Referential Integrity,не пускает удалить.


6-1134724621
Puk
2005-12-16 12:17
2006.04.02
Передать данные POST-методом в окно IE


1-1140819380
Dimaxx
2006-02-25 01:16
2006.04.02
Высота элемента в ListView