powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / txt-dbf
20 сообщений из 20, страница 1 из 1
txt-dbf
    #33369557
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем. У меня такая проблема. У меня есть файл *.тхт без каких либо разделительных знаков, такого вида:


20051101 16341 19520 35.47 Љ®ў «Ґ­Є® ѓ.€. 20051101 528 19521 56.23 Љ«Ё¬Ґ­Є® ‚.‚. 20051101 1826 19527 324.94 ѓаҐз ­л© ‚.€. 20051101 65 19529 46.06 Љ Ў ­­ЁЄ Ђ.‚. 20051101 16341 19533 52.33 Њ вўЁҐ­Є® ‚.€. 20051101 16341 19538 25.95 ћа祭Є® Ђ.Џ. 20051101 16346 19541 20.82 ѓЁ«м Ђ.Ђ. 20051101 16341 19544 38.61 ‘⥯ ­Ґ­Є® Ђ.Ѓ. 20051101 20 19545 472.98 ‚®§аг¤ Њ.Ђ. 20051101 16341 19547 8.86 ѓг¤§Ґ­Є® ћ.Ђ. 20051101 65 19552 28.04 •®¬пЄ®ў Ђ.Џ. 20051101 16341 19553 30.42 ђ Ї®в  ‚.Џ. 20051101 242 19556 143.16 Љ ©Є  Ќ.‘. 20051101 16341 19557 102.74 Ѓ®­¤ аҐ­Є® Ќ.€. 20051101 168 19558 82.06 …ЈЁЇЄ® €.Џ. 20051101 16341 19560 32.04 Љ®ў «Ґ­Є® ѓ.€. 20051101 16341 19564 11.53 Њ «ЁзҐ­Є® ‚.Њ. 20051101 16339 19567 8.39 …ମ誨­ Џ.‚. 20051101 64 19568 36.31 Њ ЄбЁ¬Ґ­Є® Ђ.€. 20051101 151 19570 170.49 Љ «г¦Ґ­®ў ‚.‚. 20051101 16341 19572 36.24 ‡оЎ ­ ‚.Ђ. 20051101 16341 19574 25.74 —Ґа­ге  ћ.Ђ. 20051101 16341 19577 5.66 Њ вўЁҐ­Є® ‚.€. 20051101 210 19578 86.76 ЊЁ­оЄ €.Ђ. 20051101 15939 19581 88.86 ћа祭Є® ‚.Ќ. 20051101 16341 19582 4.81 ‚ҐаҐвҐ«м­ЁЄ ѓ.Ќ. 20051101 16046 19583 35.38 Џ®¤«Ґб­л© ‚.‚. 20051101 528 19584 137.50 Љ«Ё¬Ґ­Є® ‚.‚. 20051101 73 19585 197.07 „ҐаҐўп­зҐ­Є® Њ.€. 20051101 153 19591 66.43 ЏЁа®Ј Ќ.€. 20051101 243 19593 1378.16 ‘®Єга ”.Џ. 20051101 16341 19596 39.62 Љ®ў «Ґ­Є® ѓ.€. 20051101 178 19602 39.49 ЃҐ¬  ‚.€. 20051101 16341 19605 66.27 ‘⥯ ­Ґ­Є® Ђ.Ѓ. 20051101 16341 19609 63.12 ћа祭Є® Ђ.Џ. 20051101 241 19610 105.88 ‘⥫쬠订 ‹.Џ. 20051101 16341 19611 27.34 —Ґа­ге  ћ.Ђ. 20051101 64 19614 22.43 •®¬пЄ®ў Ђ.Џ. 20051101 16341 19615 152.19 Ѓ®­¤ аҐ­Є® Ќ.€. 20051101 16346 19616 35.10 ѓ®«гЎ®ў ‚.€. 20051101 16341 19618 44.32 Њ «ЁзҐ­Є® ‚.Њ. 20051101 168 19619 88.95 …ЈЁЇЄ® €.Џ. 20051101 542 19620 14.91 ‡ ¤®а®¦­®¬г Ђ.Ђ. 20051101 29 19622 234.56 Љ®б⥭­ЁЄ®ў Њ.”. 20051101 16341 19625 81.17 ѓг¤§Ґ­Є® ћ.Ђ. 20051101 16346 19627 11.52 „Ґ­ЁбҐ­Є® ‘.Ѓ. 20051101 16341 19629 8.65 ђ Ї®в  ‚.Џ. 20051101 16341 19637 4.70 Љ®ў «Ґ­Є® ѓ.€. 20051101 152 19641 126.08 ЌҐЇ®з в®ў ‚.Ђ. 20051101 16341 19643 14.31 ‡оЎ ­ ‚.Ђ. 20051101 16346 19644 6.22 ѓЁ«м Ђ.Ђ. 20051101 45 19647 28.11 ‘ЎЁв­Ґў ђ.Ђ. 20051101 64 19647 79.83 Њ ЄбЁ¬Ґ­Є® Ђ.€. 20051101 65 19660 74.49 •®¬пЄ®ў Ђ.Џ. 20051101 16341 19661 10.36 Њ «ЁзҐ­Є® ‚.Њ.


Как мне из него сделать dbf вида:
20051101 16341 19520 35.47 Љ®ў «Ґ­Є® ѓ.€.
20051101 528 19521 56.23 Љ«Ё¬Ґ­Є® ‚.‚.
20051101 1826 19527 324.94 ѓаҐз ­л© ‚.€.

Причем мне бы хотелось как - то изменить кодировку, что бы в таблице не было абракадабры. Заранее очень благодарна.
...
Рейтинг: 0 / 0
txt-dbf
    #33369588
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Держи таблицу и метод как ее парсить...
...
Рейтинг: 0 / 0
txt-dbf
    #33369617
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что я наверно немного некорректно объяснила, мне надо так:
В первом поле таблицы:20051101
Во втором поле таблицы:16341
В третьем поле:19520
В четвертом поле:35.47
В пятом:Коваленко Г.И

А за примерчик огромное спасибо
...
Рейтинг: 0 / 0
txt-dbf
    #33369634
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как поменялась кодировка, я нигде это не увидела в проге?
...
Рейтинг: 0 / 0
txt-dbf
    #33369662
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тады вот
...
Рейтинг: 0 / 0
txt-dbf
    #33369678
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять же не поняла в какой момент в программе сменилась кодировка или вы это делаете ручками? Объясните мне пожалуйста хоть в двух словах.
И опять же большое спасибо.
...
Рейтинг: 0 / 0
txt-dbf
    #33369685
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ручками. Выставляешь кодировку в браузере досовскую и делаешь Ctrl+V а потом все это в файл :-))))))))))

А вообще надо просто выставить кодировку у таблицы 866-ую и все. Как не помню. Что то вида CpZero/CpConvert
...
Рейтинг: 0 / 0
txt-dbf
    #33369686
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как текстовый файлик сделался такой красивый без лишних пробелов, по русски и т.д., ведь в программке это не прописано.
...
Рейтинг: 0 / 0
txt-dbf
    #33369694
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том что у меня около 200 файлов, которые мне приходят по модему каждый месяц и я просто не успею сделать это вручную, как это можно сделать программно. Заранее благодарна
...
Рейтинг: 0 / 0
txt-dbf
    #33369706
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петров АндрейРучками. Выставляешь кодировку в браузере досовскую и делаешь Ctrl+V а потом все это в файл :-))))))))))

А вообще надо просто выставить кодировку у таблицы 866-ую и все. Как не помню. Что то вида CpZero/CpConvert

do (HOME()+"Tools\CPZERO\cpzero.prg") with "DbfName",866
...
Рейтинг: 0 / 0
txt-dbf
    #33370223
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMed Петров АндрейРучками. Выставляешь кодировку в браузере досовскую и делаешь Ctrl+V а потом все это в файл :-))))))))))

А вообще надо просто выставить кодировку у таблицы 866-ую и все. Как не помню. Что то вида CpZero/CpConvert

do (HOME()+"Tools\CPZERO\cpzero.prg") with "DbfName",866



А как это работает, извините с удовольствием посмотрела бы в helpe, но пока у меня его нет, а делать надо
...
Рейтинг: 0 / 0
txt-dbf
    #33370259
air1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как в тхт файле убрать лишние пробелы, но мне конечно надо программно
...
Рейтинг: 0 / 0
txt-dbf
    #33370326
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот функция перекодировки из DOS (866) в Win (1251) правда на Delphi

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function DosToWin (Const S : string);
var
  i : word;
begin
  SetLength(Result,Length(S));  
  for i :=  1  to Length(S) do
    case S[i] of
      Char(Ord('А')- 64 )..Char(Ord('Я')- 64 ) : Result[i] := Char(Ord(S[i]) +  64 );
      Char(Ord('а')- 64 )..Char(Ord('п')- 64 ) : Result[i] := Char(Ord(S[i]) +  64 );
      Char(Ord('р')- 16 )..Char(Ord('я')- 16 ) : Result[i] := Char(Ord(S[i]) +  16 );
            else Result[i] := S[i];
    end;
end;

Т.е. алгоритм перекодировки:

символы S в интервале
от Chr(Asc(' А ')-64) до Chr(Asc(' Я ')-64) заменяются на Chr(Asc(S) + 64);
от Chr(Asc(' а ')-64) до Chr(Asc(' п ')-64) заменяются на Chr(Asc(S) + 64);
от Chr(Asc(' р ')-16) до Chr(Asc(' я ')-16) заменяются на Chr(Asc(S) + 16);
остальные символы без изменений

здесь везде параметры функции Asc - русские буквы ( АЯапря )!

В фоксе приготовь две строки по 255 символов
Первую заполняешь символами с кодами от chr(0) до chr(255)
Вторую согласно вышеприведенному соответствию
и функцией STRTRAN(source,str1,str2) сделаешь перекодировку
...
Рейтинг: 0 / 0
txt-dbf
    #33370329
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще Вам надо чтоб не один а куча файлов всасывалась. Я прально понимаю вопрос. :-))))))))))))) Блин почитайте хоть доки.
...
Рейтинг: 0 / 0
txt-dbf
    #33370359
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пусть длина строки 50
извените но могли сами посчитать - мне лень

me
set date german
gg=fopen('filename.txt',2)
if gg>0
create cursor qq1 (f1 d, f2 n(5),f3 n(5), f4 n(5,2), f5 c(50))
do while !feof(gg)
ss=fgets(gg,50)
ff1=ctod(substr(ss,7,2)+'.'+substr(ss,6,2)+'.'+left(ss,4))
ff2=val(substr(ss,9,5))
ff3=val(substr(ss,15,5))
ff4=val(substr(ss,17,5))
ff5=cpconvert(866,1251,substr(ss,23))
insert into qq1 (f1,f2,f3,f4,f5) values (ff1,ff2,ff3,ff4,ff5)
enddo
fclose(gg)
endif
...
Рейтинг: 0 / 0
txt-dbf
    #33370367
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2golsa

беззаветной храбрости программист...
завидую вашему боевому духу
...
Рейтинг: 0 / 0
txt-dbf
    #33370382
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 golsa

Ты еще букву Ё забыл :-)

2 leaf

Я бы сказал "Могучий". Особенно во времена наличия CpConvert. :-)))))
...
Рейтинг: 0 / 0
txt-dbf
    #33370411
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Петров Андрей

человек очень хотел помочь
но опыта мало
опыт прийдет а дух останеться
...
Рейтинг: 0 / 0
txt-dbf
    #33370419
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
между прочим там в делфи есть какая-то дрянь типа
AnsiToOem
или это в с++ не помню уже но что-то есть
...
Рейтинг: 0 / 0
txt-dbf
    #33372399
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi leaf!

Это в WinAPI есть - и пример кстати с адаптацией под фокс тоже есть (в
отличие от CPCONVERT() допускает любый кодировки установленные в винде -
хоть КОИ8-Р, хоть Cyr Macintosh, хоть UTF7/8)... Не знаю существует ли
версия Дельфи не поддерживающая АПИ вызовы :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / txt-dbf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]