Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.53 MB
Время: 0.016 c
14-5822
andrey_lamer
2003-02-13 08:44
2003.03.03
Как зарегистрировать Trial версию Delphi studio 7?


3-5450
_BasiL_
2003-02-13 13:15
2003.03.03
DBGrid без BDE


1-5619
andrey_pst
2003-02-20 08:41
2003.03.03
Code Insight в D7


8-5671
__Alx___
2002-11-16 11:49
2003.03.03
LineDDA


4-5927
Evgeniy Startsev
2003-01-15 13:11
2003.03.03
ClassName