|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Задача такая - есть дбф но не все символы в полях отображаються корректно.. REPLACE FIO WITH STRTRAN меняю нечитаемые символы на нужные.И если бы не украинская заглавные буквы "І" и "Є"то проблема была бы решена- но такие фамилии как Іванов начинались бы с пропиской буквы.. вот тут у меня начинаются проблемы - не знаю как имя открытой дбф загнать в переменнуюмя ,а потом вернуть в имя дбф- нужно для того чтобы после манипуляций по изменению структуры дбф вернуть в конце процедуры ее первоначальное имя...Структуру меняю для того чтобы после copy to ..... TYPE SDF поднять на новую структуру дбф потом обработать украинские буквы из прописных в заглавные и вернуть в изначальную структуры дбф с ее же первоначальным именем.. может я что то заумное придумал.. но пока так.. если будут другие варианты готов расмотреть... а пока подскажите как загнать имя дбф в перемнную и вернуть потом.. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 12:31 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
dbf() ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 12:48 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Трезвый, да именно это я пробовал... но не понял как вернуть имя.. там ведь прописыватся весь путь до дбф-ки .. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 13:08 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Николай77Трезвый, да именно это я пробовал... но не понял как вернуть имя.. там ведь прописыватся весь путь до дбф-ки .. Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 13:15 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Николай77, тогда ALIAS() ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 13:16 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Народ...короче как пел В. Висоцкий - если туп как дерево.. то родишся баобабом... ложу свой пример ..исправте плиз..короче я пока просто хочу сделать копию дбф в другое место...если получится тогда буду менять структуру , имя и возвращать в конце процедуры исходное имя..Кодовая страница в примере дбф 866.Кстати только на этом примере понял что нужно доделать только одну букву "І".. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 14:55 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Николай77, Например, так: ************ USE ? BROWSE copy to name1 use select 0 use name1 browse repl all fio with strtran(fio, 'I', 'И') repl all fio with strtran(fio, 'i', 'и') BROWSE use **************** Там еще нужно много украинских букв поменять, а также Йо на Ё, но еще имена и отчества не совпадут с русскими, например, Юхим по укр. - это Ефим по русски и пр. Так что ищи базу русских имен и отчеств и пиши переименовку. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2010, 20:32 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
igorbik, Спасибо за помощь... но я все таки пошел немного по другому пути..щас немного занят другим.. но допишу код и покажу как реализовал..просто как говорят нужно хранить копии написаных прог чтобы потом не мучать других.. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2010, 09:44 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Короче менять мне нужно только те символы что не читаются.. вечная проблема чисто украинских букв... в ексель все выводится из прогрммы корректно..но дбф с нечитаемыми символами.. вот поэтому банки просят откоректировать дбф...Сделал в итоге так : SET DEFAULT TO C:\Employment\Source\foBank\ USE ? BROWSE CLEAR ? ALIAS( ) && Display the alias STORE ALIAS( )to v1 copy to C:\Employment\Source\Correct\1.txt TYPE SDF fields nsc, fio, summa ,ved , name_b ,id_kod CREATE TABLE C:\Employment\Source\Correct\21; (nsc C(16),fio_cor C(1),fio C(49), summa N(12,2), ved N(8), name_b C(50),id_kod C(10)) APPEND FROM C:\Employment\Source\Correct\1.txt TYPE sdf REPLACE FIO WITH STRTRAN(FIO,' _',' I') ALL REPLACE FIO WITH STRTRAN(FIO,'_','│') ALL REPLACE Name_b WITH STRTRAN(Name_b,'_','│') ALL REPLACE fio_cor WITH STRTRAN(fio_cor,'i','▓') ALL copy to C:\Employment\Source\Correct\11.txt TYPE SDF fields nsc,fio_cor, fio, summa , ved , name_b ,id_kod CREATE TABLE C:\Employment\Source\Correct\22.dbf; (nsc C(16),fio C(50), summa N(12,2), ved N(8), name_b C(50),id_kod C(10)) APPEND FROM C:\Employment\Source\Correct\11.txt TYPE sdf SET DEFAULT TO C:\Employment\Source\Correct\ ? v1 COPY TO (v1) BROWSE quit Может не самый "умный" вариант...но я к этому и не стремился..главное работает.. щас доделаю чтобы отдать ползователям и забуду о этом.. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2010, 16:02 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Что у Вас возвращает функции Код: plaintext 1. 2.
Для того файла, который читается не правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2010, 17:16 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
ВладимирМ, извените я ваще не програмер... я гдето так слегка админ... на фоксе пишу чисто по необходимости.. избавится от рутины...и на Ваш вопрос не совсем знаю ответ.. вернее ваще не понимаю о чем Вы... если сделает прога не то имя файла.. то оператор скажет что не получилось...если о том то ли загружают.. и то ли получилось .. стоит два раза BROWSE чтобы удостоверится что то загрузил (элементарно сверяют с распечатаной ведомостью первый раз и второй все ли удачно прошло.. чисто визуально..) .. я так подозреваю ответил совсем не по теме .. но извените.. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2010, 17:36 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Смысл в том, что FoxPro всегда работает в определенной кодовой странице. Если кодовая страница среды FoxPro отличается от кодовой страницы файла DBF, то как будут отображаться данные из этой таблицы зависит от ряда настроек. Кодовая страница файла DBF физически записана в 29 байте заголовка DBF (первый бай имеет порядковый номер (смещение) равное 0). Если там ничего не записано, то возникают большие проблемы при интерпретации данных из такой таблицы. Создание новых файлов в среде FoxPro естесственно происходит в кодовой странице самой среды FoxPro. Вот я и спрашивал, что записано в 29 байте заголовка исходного DBF и в какой кодовой странице работает среда FoxPro (т.е. содержимое 29 байта заголовка нового файла DBF) Да, для справки: Можно использовать ASCII-коды нужных символов вместо их символьного отображения через функцию CHR(). Т.е. вместо, например Код: plaintext
написать Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2010, 19:33 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
ВладимирМ, Может я и не прав но... после use ? выбираю нужную дбф (кстати когда ее формируем в программе то четко указываем 866 кодовую страницу) естественно после того как указали какую дбф открывать указываем руками кодовую страницу MS-DOS 866 и фокс отрывает ее в нужной нам кодировке... так что спрашивать фокса а в какой ?CPDBF() я думаю не совсем логично... руками то ведь указали кодовую страницу.. в приниципе можна было принидительно все это прописать в какой кодовой странице открывать.. но тогда оператор ваще не о чем думать не будет.. тогда если следовать такой же логике то нужно заремить и два BROWSE.. типа зачем утруждать оператора два раза лишних щелкать мышкой..Короче каждый пишет так как считает нужным.. и для меня главное результат.. работает и фиг с ним..а то что не по каким то канонам сделал.. ну извените не учил я этого в университетах...я инженер-механик по образованию..а механику что главное.. правильно -чтобы работало.. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 08:51 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
ВладимирМ, спасибо почитаю на досуге.. только вот ехе файлы я не делаю.. не вижу надобности... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 12:47 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Я тут вмешалась в ваш разговор Для меня актуально на данный момент Есть переменная zm0ff000f0f0f0f надо скопировать txt файл с таким именем в txt файл с коротким названием zm0f.txt для дальнейшей работы в fox Поможете? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 13:43 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
styliЯ тут вмешалась в ваш разговор Для меня актуально на данный момент Не надо вмешиваться не в тему. Надо поднимать отдельный топик со своим вопросом. styliЕсть переменная zm0ff000f0f0f0f надо скопировать txt файл с таким именем в txt файл с коротким названием zm0f.txt для дальнейшей работы в fox Поможете? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 13:51 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
а если и имя короткого файла в переменной a='zm0f' ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 14:00 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 14:01 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
В том и проблема, что в foxpro простым копированием не копируются файлы с длинным именем ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 06:06 |
|
имя открытой dbf-ки в переменную
|
|||
---|---|---|---|
#18+
Проблема в том что тут телепатов нет. У меня копируются всякие файлы. Напиши конкретно что хочешь сделать и что не получается. Например хочу скопировать файл "файл с длинным именем.txt" имя которого в переменной myfile в файл c именем "file.txt". Версию фокса укажи если не 9-й. И заведи отдельный топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 07:26 |
|
|
start [/forum/topic.php?fid=41&msg=36418426&tid=1582385]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 395ms |
0 / 0 |