Текущий архив: 2003.03.03;
Скачать: CL | DM;
ВнизASCII Найти похожие ветки
← →
Vint (2003-02-11 13:05) [0]Уважаемые мастера,
хотелось бы результаты запроса с помощью BatchMove сохранить в текстовый файл (Destination := Table1; тип у Table1 выбран ttASCII), да вот только в сохраненном файле вместо русских букв стоят # ?
Можно это сделать с помощью BatchMove или надо придумывать еще что то?
← →
Соловьев (2003-02-11 13:10) [1]А с какой таблицы? и какие настройки алиаса?
← →
Vint (2003-02-11 13:49) [2]>Соловьев © (11.02.03 13:10)
>А с какой таблицы?
Source := Query1;
>и какие настройки алиаса?
там по умолчанию Paradox
или в смысле конфигурация BDE?
Paradox - Pdox ANSI Cyrillic
dBASE - dBASE RUS cp866
ну и т.д. а для текстовых файлов, драйверов вроде нету.
← →
Vint (2003-02-11 15:02) [3]???
← →
Vint (2003-02-12 10:39) [4]Соловьев куда то пропал... ;)
Надеюсь найти человека знающего BDE :)
← →
Соловьев (2003-02-12 10:41) [5]А почему по умолчанию Paradox? ты с чем работаешь? с какой СУБД?
← →
Imshanya (2003-02-12 10:47) [6]Нужно это сделать с помощью BatchMove и не надо придумывать еще что то!!!
← →
Vint (2003-02-12 12:08) [7]>Соловьев © (12.02.03 10:41)
таблица на входе у меня Paradox.
>Imshanya (12.02.03 10:47)
Так вот и пытаюсь: пробовал уж и с компонентом BatchMove1 и пробовал расписывать вручную:
tab := tTable.create(self);
with tab do begin
DataBaseName := "BWDDFSC"
tableName := "SQLres.txt";
TableType := ttASCII;
createTable;
open;
edit;
BatchMove(Query1, batCopy);
нифига! все равно вместо русских букв - ########
ясно, что все дело в настройках BDE! но где капать???
← →
Соловьев (2003-02-12 12:19) [8]
> DataBaseName := "BWDDFSC"
А тут какие настройки?
← →
Vint (2003-02-12 12:29) [9]>Соловьев © (12.02.03 12:19)
там исходная таблица
настройки для алиаса:
Type - STANDARD
Default drive - PARADOX
Enable - BCD FALSE
Path - C:\RACC\Base
для языкового драйвера:
Native
Paradox - Pdox ANSI Cyrillic
INIT - Pdox ANSI Cyrillic
← →
Imshanya (2003-02-12 13:15) [10]2 Vint
Ты создаешь файл SQLres.sch ? Надеюсь-Да.
Параметр CharSet=ascii замени на CharSet= cyrr. Это все.
Если не очень понятно о чем я говорю, освежи свои познания:
bde32.hlp - > external schema,binding to text tables
Elfxb, т.е Удачи!!! :)
← →
Vint (2003-02-12 14:10) [11]>Imshanya (12.02.03 13:15)
вообщето SQLres.sch при записи *.txt создается автоматически, и как поучавствовать в его создании я не знаю :)
Параметр CharSet=ascii замени на CharSet=cyrr. Это все.
КАК ?
а в хелпе что-то намутили:
The CHARSET attribute specifies the name of the language driver to use. This is the base filename of the .LD file used for localization purposes.
я и пытаюсь понять откуда CHARSET берет имя языкового драйвера,
... и что это за .LD файл ???
← →
Imshanya (2003-02-12 14:32) [12]Господь с ними, даже если перемудрили.
Я этот файл (*.sch) создаю автоматически, ну т.е. из своей программы. И я (равно как и Ты) волен выставлять те параметры, которые мне необходимы. А что касательно "откуда CHARSET берет имя языкового драйвера", то похоже что ansii-установка по умолчанию. А может и нет. Главное задача решаема. Если я правильно Тебя понял, тебе надо сохранить текст в том же языке, что и исходные данные(т.е. Твоя табличка paradoxовская).
Узнаешь язык таблички.db - выставляешь такой же Файл.txt
Кажется это все.
P.S. А с .LD file надо разбираться. Он наверно оттого и LD - то бишь Langauge Driver. Пока не разбирался.
← →
Vint (2003-02-12 14:38) [13]>Imshanya (12.02.03 14:32)
Узнаешь язык таблички.db - выставляешь такой же Файл.txt
КАААААААААААК выставить такой же в Файл.txt ??? :)
← →
Imshanya (2003-02-12 14:41) [14]2 Vint
"Создаю автоматически из своей программы" означает что у меня есть строки типа:
tbTXT.Close;
tbTXT.DatabaseName:=ExtractFilePath(OpenDialog.FileName);
tbTXT.TableName :=TXTFileName;
SCHFileName:=Copy(OD.FileName,1,pos(".",OD.FileName)-1);
AssignFile(SCHFile,SCHFileName+".sch");
Rewrite(SCHFile);
Writeln(SCHFile,"["+ExtractFileName(SCHFileName)+"]");
Writeln(SCHFile,"Filetype=Fixed");
Writeln(SCHFile,"Field1=F1,Char,15,00,00");
Writeln(SCHFile,"Field2=F2,Char,20,00,15");
Writeln(SCHFile,"Field3=F3,Char,02,00,35");
CloseFile(SCHFile);
tbTXT.Open;
← →
Imshanya (2003-02-12 14:46) [15]Извини, пропущена интересующая Тебя строка!
Writeln(SCHFile,"CHARSET = ascii");
Хочешь ascii, хочешь ansii, хочешь еще чего.
← →
Imshanya (2003-02-12 14:48) [16]Блин, опять не то, во я рассомаха:
Writeln(SCHFile,"CHARSET = cyrr");
← →
Vint (2003-02-12 14:54) [17]>Imshanya (12.02.03 14:41)
хорошо я создал файл SQLres.sch сам и написал CharSet=cyrr,
но при выполнении BatchMove созданный файл просто перезаписался и все! при этом CharSet= снова ascii :(
или SQLres.txt мне тоже самому заполнить :)))
← →
Imshanya (2003-02-12 15:07) [18]Слушай, у меня такого нет.
Я думаю что Твои строки:
tab := tTable.create(self);
with tab do begin
DataBaseName := "BWDDFSC"
tableName := "SQLres.txt";
TableType := ttASCII;
createTable;
как раз и перезаписывают SQLres.sch
Очень сомневаюсь, что это проделки BatchMove.
Ты tab:TTable не создавай at run time-создай его at design time.
Может быть я неправ...
← →
Imshanya (2003-02-12 15:21) [19]Я неправильно использовал терминологию и наверное запутал Тебя окончательно. Я вот что имел ввиду:
Создай SQLres.txt так:
AssignFile(TXTFile,"SQLres.txt");
Rewrite(TXTFile);
CloseFile(TXTFile);
...
А потом tab.TableName:="SQLres.txt"
Компонент tab(:TTable) создавай когда хочешь:тут я был неправ.
Вот при такой последовательности действий д.б. все Ok.
← →
Vint (2003-02-12 15:36) [20]>Imshanya (12.02.03 15:21)
блин, я тебя не понимаю, то что ты советуешь ты сам пробовал?
может конечно я к вечеру отупел окончательно, но не въезжаю что ты хочешь мне сказать: зачем создавать SQLres.txt ???????
лучше уж кинь на мыло мне исходник что ли я гляну...
← →
Vint (2003-02-12 16:06) [21]Дааа... вот кажись и поговорили :)
Соловьев что то давно ничего не спрашивал ;)))
больше предложений нету?
← →
Соловьев (2003-02-12 17:04) [22]я не знаю :(
← →
Соловьев (2003-02-12 17:05) [23]Попробуй в *.dbf а потом открыть в екселе.
← →
Vint (2003-02-12 17:10) [24]>Соловьев © (12.02.03 17:04)
да это я так уж от нечего делать - прикалываюсь :)
ладно завтра еще разочек попробую ветку поднять... просто уже из принципа интересно где же собака порылась ;)
← →
Соловьев (2003-02-12 17:12) [25]попробуй использовать dbiBatchmove
← →
Imshanya (2003-02-12 17:37) [26]Иди почту проверяй :)
← →
Vint (2003-02-13 09:09) [27]>Imshanya (12.02.03 17:37)
Слушай, огромный сенкс, я думал ты меня паришь ;), а ведь блин действительно надо этот .sch перезаписать и все! Еще раз спасибо!
← →
Imshanya (2003-02-13 11:13) [28]2 Vint
Я рад, что смог помочь! Хочу сказать, похоже Ты прав, что BatchMove "перетирает" *.sch. Своими глазами видел.Хитрость в том, что если этот *.sch существует, то BatchMove не карежит указанные в нем значения параметров: т.е. если BatchMove и хотел бы поставить CharSet=ascii, видя наш нелегки труд, все же снисходит до наших установок и перезаписывая *.sch оставляет
"наше" - CharSet=cyrr !!!
IN BYTE WE TRUST ! :) УДАЧИ ТЕБЕ
P.S. Похоже, Мы плохо читали последние два абзаца в bde32.hlp - > external schema,binding to text tables.
Страницы: 1 вся ветка
Текущий архив: 2003.03.03;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.01 c