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

Вниз

Смена кодировки   Найти похожие ветки 

 
selena   (2003-12-05 13:13) [0]

Здраствуйте
Пишу такой текст.Файл в кодировке дос. Все работает, но смешаются строки получается примерно так
0003110719654887 602163 000960631 246.00
0003110719666477 637203 000960631 492.00
0003110719666513 637295 000960631 492.00
0003110719670264 648443 000960631 492.00
0003110719648760 203 001467382 1389.59
0003110719648716 204 100000001 022467804 49856.06
Смотрю в досе все нормально.
В чем тут дело?

procedure TForm1.Button1Click(Sender: TObject);
VAR S: String;
i:integer;
BEGIN
RichEdit1.Lines.LoadFromFile("c:\test\ex1107.txt");
S :=RichEdit1.Text;
OemToChar(PChar(S), PChar(S));
RichEdit1.Clear;
RichEdit1.Text :=S;
PrintStrings(Richedit1.Lines);


 
HSolo   (2003-12-05 13:15) [1]

В чем смотрите? Чем выравниваете - пробелом, табуляцией?


 
selena   (2003-12-05 13:28) [2]

смотрю в фаре по f3 чем выровнен не знаю файл приходит со стороны.


 
MBo   (2003-12-05 13:52) [3]

При просмотре не в фаре используй моноширинный шрифт (Courier, например)


 
TUser   (2003-12-05 14:33) [4]

Посмотри обязательно чем выровнено. А если файл пришел со стороны, так мэй би он исходно кривой.


 
Chris   (2003-12-05 14:42) [5]

Если я правильно понимаю, то проблема в том, что длина табулятора равна 8 символам и если слово длиннее 7 символов, то следующее слово после табулятора будет правее на 8 символов.


 
selena   (2003-12-05 15:44) [6]

я нашел в чем он затыкается , но не пойму в чем дело.
Там где свободное поле в примере в некоторых строчках есть данные.
0003110719666513 637295 000960631 492.00
0003110719670264 648443 000960631 492.00
0003110719648760 203 190501756 001467382 1389.59
0003110719645463 576003 400960419 1425.00
0003110719650007 207 190501700 039467996 9497.97
0003110719652397 212 190501601 027467553 9883.46

Должно быть так.А при перекодировке почему то там где пусто съезжает и получается так
0003110719666513 637295 000960631 492.00
0003110719670264 648443 000960631 492.00
0003110719648760 203 190501756 001467382 1389.59
0003110719645463 576003 400960419 1425.00
В чем тут может быть дело и как это исправить?


 
HSolo   (2003-12-05 16:42) [7]

Чем смотрите после перекодировки?


 
Anatoly Podgoretsky   (2003-12-05 16:51) [8]

А зачем тут перекодировка, голые цифры


 
Ренат Сейфетдинов   (2003-12-05 17:04) [9]

Заменяй символ TAB на 8 пробелов.
В дос TAB означает 8 пробелов, в Windows просто позиция кратная 8
в RX есть функция ReplaceStr пройдись вначале ней, а затем выполняй свой код


 
HSolo   (2003-12-05 17:17) [10]

> Ренат Сейфетдинов (05.12.03 17:04) [9]
Не поможет, если на результат смотреть, к примеру, из Блокнота со шрифтом вроде Arial :)

> selena
Посмотрите на результат перекодировки в FARе по F3
Если увидите сдвиг - тогда посмотрите в hex-кодах и на оригинал, и на результат


 
selena   (2003-12-07 11:26) [11]

В farе без проблем.Я перекодтровку убираю все равно так получается, тут что-то при считывании происходит вроде бы .А кроме цифр там есть и слова просто я их не привел так как они сьезжают вместе с цифрвми.
А как заменить ТАВ на 8 пробелов стандиртными функцями и как вообще в таких файлах увидеть невидимые символы?Может там ТАВ не стоит.



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

Форум: "Основная";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
6-62177
Djoniki
2003-10-22 20:11
2003.12.19
Подбор цифр !!!!!!!!!!!!!!!!!!!!!!


1-62063
Comp
2003-12-05 16:59
2003.12.19
Непонятное с формой


3-61990
ZHK
2003-11-24 16:28
2003.12.19
Почему не создаются таблицы?


6-62184
Denis_Ac
2003-10-23 07:40
2003.12.19
Что такое?


1-62058
_юзер_
2003-12-05 17:05
2003.12.19
ActionMainMenuBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский