Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.16;
Скачать: CL | DM;

Вниз

Strings and DOS   Найти похожие ветки 

 
undert ©   (2003-11-21 23:51) [0]

Мимо моих ушей пролетело:
это правда что если читать текст в DOS кодировке, String его не воспримет ?

У меня жирный глюк:
Есть таблица DBF, есть ячейка, всё в кодировке ДОС, ячейка забита 2мя символами, при чтении строка пустая ... Что это может быть и как ПЕРЕКОНВЕРТИРОВАТЬ ЭТОТ DBF В WINDOWS КОДИРОВКУ ?


 
undert ©   (2003-11-22 00:39) [1]

procedure TForm4.OnFieldGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
// Sender.AsString - уже пустойend;


 
clickmaker ©   (2003-11-22 01:09) [2]

В БДЕ поставь нормальную кодировку DBase Rus 866, в настройках драйвера DBase


 
undert ©   (2003-11-22 16:17) [3]


> clickmaker ©


Я использую DataSet и никаких BDE


 
undert ©   (2003-11-23 01:10) [4]

?


 
Е-Моё имя ©   (2003-11-23 01:13) [5]

чо непонятно? кликмакер же дал совет

---
nil


 
Zacho ©   (2003-11-23 02:00) [6]

И еще есть "волшебные" функции OemToChar, OemToCharBuff ...


 
Zacho ©   (2003-11-23 02:01) [7]


> Я использую DataSet и никаких BDE

Это ты скорее всего ошибаешся.


 
Anatoly Podgoretsky ©   (2003-11-23 09:18) [8]

:-)
И очень, не лез бы ты в программирование.


 
undert ©   (2003-11-23 12:49) [9]


> Zacho © (23.11.03 02:01) [7]
>
> > Я использую DataSet и никаких BDE
>
> Это ты скорее всего ошибаешся.


С чего это ? Если б я использовал BDE и всякий гемор с драйверами, оно бы на других компах, без установленной данной хрени не пахало бы, а пахает... ==)


 
Palladin ©   (2003-11-23 12:50) [10]

Так ты значит без драйверов? Ну ты кудесник.


 
undert ©   (2003-11-23 12:51) [11]


> Anatoly Podgoretsky © (23.11.03 09:18) [8]
> :-)
> И очень, не лез бы ты в программирование.


Хочу - лезу =) Мне уже неделю никто не может дать внятного ответа на мой понятный даже де**лу вопрос. И какие тут мастера ? Я же не прошу дать мне исходники ядра Windows.


 
undert ©   (2003-11-23 12:53) [12]


> Е-Моё имя © (23.11.03 01:13) [5]
> чо непонятно? кликмакер же дал совет
>
> ---
> nil


Да ну, ну выставил то что он сказал ... и где результат этого ? =) Опять всё так же пусто ... :((


 
Е-Моё имя ©   (2003-11-23 12:55) [13]

ты разберись сначала, из какой области dataset, а из какой-BDE

---
nil


 
sniknik ©   (2003-11-23 12:59) [14]

undert © (21.11.03 23:51)
> ячейка забита 2мя символами
undert © (23.11.03 12:53) [12]
> Да ну, ну выставил то что он сказал ... и где результат этого ? =) Опять всё так же пусто ... :((
символы это именно символы? > #32, или меньше = #0 к примеру?


 
Anatoly Podgoretsky ©   (2003-11-23 13:04) [15]

undert © (23.11.03 12:51) [11]
А ты уже неделю не можешь задать вопрос, только что то неразборчивое.


 
Anatoly Podgoretsky ©   (2003-11-23 13:05) [16]

undert © (23.11.03 12:51) [11]
Видимо вопрос только дебилам и понятен.


 
Е-Моё имя ©   (2003-11-23 13:06) [17]

->
>> [16] Anatoly Podgoretsky © (23.11.03 13:05)
<-

=))))))))))))))))))))))))))))))))))))))))))))
!!!!!!!!!!!!!
точно

---
nil


 
undert ©   (2003-11-23 13:13) [18]


> sniknik © (23.11.03 12:59) [14]
> символы это именно символы? > #32, или меньше = #0 к примеру?


А что же ещё: от 000 до 255 (т.е. Chr(000)..Chr(255))


> Anatoly Podgoretsky © (23.11.03 13:04) [15]
> А ты уже неделю не можешь задать вопрос, только что то неразборчивое.


Да ну, и что же вам непонятно в моём вопросе ?


 
Е-Моё имя ©   (2003-11-23 13:15) [19]

Удалено модератором


 
Anatoly Podgoretsky ©   (2003-11-23 13:16) [20]

Кроме того, что, что не работает абсолютно все, и даже наводящие вопросы не помогали, ты их благополучно игнорировал.


 
Е-Моё имя ©   (2003-11-23 13:17) [21]

->
>> [16] Anatoly Podgoretsky © (23.11.03 13:05)
>> Видимо вопрос только дебилам и понятен.
<-

->
>> [18] undert © (23.11.03 13:13)
>> Да ну, и что же вам непонятно в моём вопросе ?
<-

ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ

---
nil


 
Anatoly Podgoretsky ©   (2003-11-23 13:19) [22]

undert © (21.11.03 23:51)
Сообственно, вот точный ответ - это не правда.


 
sniknik ©   (2003-11-23 13:26) [23]

> Кроме того, что, что не работает абсолютно все, и даже наводящие вопросы не помогали, ты их благополучно игнорировал.
есть одно исключение, хоть чтото ->

undert © (23.11.03 13:13) [18]
> А что же ещё: от 000 до 255 (т.е. Chr(000)..Chr(255))
тогда все понятно, только у символов до #32 бывает чисто спецефическое назначение ...
например #0 в строке у dBase/Foxtro означает конец строки при разборе asString строка режется по нему.
решается несколькими способами, например задать тип поля Numeric(2,0) остальное ясно думаю.
другие способы на неизвестном типе движка/недоступности исходников даже обсуждать не хочется.


 
undert ©   (2003-11-23 13:29) [24]


> тогда все понятно, только у символов до #32 бывает чисто
> спецефическое назначение ...
> например #0 в строке у dBase/Foxtro означает конец строки
> при разборе asString строка режется по нему.
> решается несколькими способами, например задать тип поля
> Numeric(2,0) остальное ясно думаю.
> другие способы на неизвестном типе движка/недоступности
> исходников даже обсуждать не хочется.


Исходники я выеладывал.


 
undert ©   (2003-11-23 13:33) [25]

procedure TForm4.FormCreate(Sender: TObject);
begin
ID:=0;
end;

Function IntToDay(Int:Integer):String;
begin
Case Int Of
1:Result:="понедельник";
2:Result:="вторник";
3:Result:="среда";
4:Result:="четверг";
5:Result:="пятница";
6:Result:="суббота";
7:Result:="воскресенье";
End;
end;

procedure TForm4.GetID(ID:Integer);
Var Res:String;
Table:TVKDBFNTX;
begin
Case ID Of
0:Res:="DATA";
1:Res:="PIESA";
2:Res:="REGIS";
3:Res:="TIP1";
4:Res:="TRUPPA";
5:Res:="DOM";
6:Res:="COMPOU";
7:Res:="HOREOG";
End;
List.Items.Clear;
Form2.NTX.First;
If ID=0 Then
Begin
Repeat
List.Items.Add(Form2.NTX.FieldByName("DATA").AsString+" ["+IntToDay(Form2.NTX.FieldByName("WDAY").AsInteger)+"]");
Form2.NTX.Next;
Until Form2.NTX.Eof;
End Else
Begin
Table:=TVKDBFNTX(Form2.FindComponent(Res));
ShowMessage(Table.ClassName);
List.Items.Add(FindFieldValue("CODE","NAME",Table,Form2.NTX.FieldByName(Res).AsString));
While (Form2.NTX.FindNext) And (Not Form2.NTX.Eof) Do
List.Items.Add(FindFieldValue("CODE","NAME",Table,Form2.NTX.FieldByName(Res).AsString));
End;
end;

procedure TForm4.FormShow(Sender: TObject);
begin
GetID(ID);
//MoveBy, Seek, FinfKey, FindNearest, GotoKey, GotoNearest, Locate etc
end;

Function CMPTrimStr(S1,S2:String):Boolean;
Begin
S1:=S1;//UpperCase(Trim(S1));
S2:=S2;//UpperCase(Trim(S2));
Result:=S1=S2;
End;

function TForm4.FindFieldValue(CodeID,NameID:String;Table:TVKDBFNTX;ID:Variant):String;
begin
Table.First;
While Not CMPTrimStr(Table.FieldByName(CodeID).AsString,ID) Do
Begin
Application.ProcessMessages;
Table.Next;
If Table.Eof Then Break;
End;
If CMPTrimStr(Table.FieldByName(CodeID).AsString,ID) And (ID<>"") Then
Result:=Trim(Table.FieldByName(NameID).AsString) Else
Result:="";
//If Result="" Then
// Result:=" <нет записей> {"+ID+"}";
end;

procedure TForm4.OnFieldGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
//ShowMessage(IntToStr(Length()));
//Text:=OEMToAnsiStr(Sender.AsVariant);
end;

procedure TForm4.ListClick(Sender: TObject);
Var Inx:Integer;
ID:Integer;
Code:String;
begin
Inx:=List.ItemIndex;
If Inx<0 Then Exit;
ID:=Inx;
With Form2 Do
Begin
NTX.First;
NTX.MoveBy(ID);

NTX.FieldByName("CODE").OnGetText:=OnFieldGetText;

Code:=NTX.FieldByName("CODE").Text;
// ShowMessage(Code);

StaticText1.Caption:=NTX.FieldByName("SECOND").AsString;
StaticText2.Caption:=FindFieldValue("CODE","NAME",SPECT,NTX.FieldByName("SPECT").AsString);

StaticText3.Caption:=FindFieldValue("CODE","NAME",REGIS,NTX.FieldByName("REGIS").AsString);
StaticText4.Caption:=FindFieldValue("CODE","NAME",PIESA,FindFieldValue("CODE","PIESA",NTX1,Code));
StaticText5.Caption:=FindFieldValue("CODE","NAME",WRITER,FindFieldValue("CODE","WRITER",NTX1,Code));
StaticText6.Caption:=FindFieldValue("CODE","NAME",DRAMAT,FindFieldValue("CODE","DRAMAT",NTX1,Code));

StaticText7.Caption:=FindFieldValue("CODE","NAME",TIP,NTX.FieldByName("TIP").AsString);
StaticText8.Caption:=NTX.FieldByName("TIP1").AsString;

StaticText9.Caption:=FindFieldValue("CODE","NAME",DOM,NTX.FieldByName("DOM").AsString);
StaticText10.Caption:=FindFieldValue("CODE","NAME",LANG,FindFieldValue("CODE","LANG",NTX1,Code));
StaticText11.Caption:=FindFieldValue("CODE","NAME",TRANSL,FindFieldValue("CODE","TRANSL",NTX1,Code));
StaticText12.Caption:=FindFieldValue("CODE","NAME",TRUPPA,NTX.FieldByName("TRUPPA").AsString);
StaticText13.Caption:=FindFieldValue("CODE","NAME",PAINT,NTX.FieldByName("PAINT").AsString);
StaticText14.Caption:=FindFieldValue("CODE","NAME",PAINT2,NTX.FieldByName("PAINT2").AsString);
StaticText15.Caption:=FindFieldValue("CODE","NAME",COMPOU,NTX.FieldByName("COMPOU").AsString);
StaticText16.Caption:=FindFieldValue("CODE","NAME",HOREOG,NTX.FieldByName("HOREOG").AsString);
StaticText17.Caption:=FindFieldValue("CODE","NAME",KOPEL,NTX.FieldByName("KOPEL").AsString);
StaticText18.Caption:=FindFieldValue("CODE","NAME",SCENEF,NTX.FieldByName("SCENEF").AsString);
StaticText19.Caption:=NTX.FieldByName("AKT").AsString;
StaticText20.Caption:=NTX.FieldByName("SUMMA").AsString;
StaticText21.Caption:=NTX.FieldByName("ISTOCHNIK").AsString;
Memo1.Text:=NTX.FieldByName("OTHER").AsString;
Memo2.Text:="";
Memo3.Text:=NTX.FieldByName("AKTR").AsString;
End;
end;

procedure TForm4.ListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ListClick(Sender);
end;

procedure TForm4.FilterChange(Sender: TObject);
begin
ID:=Filter.ItemIndex;
GetID(ID);
end;

procedure TForm4.SpeedButton1Click(Sender: TObject);
begin
Close;
end;

procedure TForm4.N1Click(Sender: TObject);
begin
//
end;

end.


 
undert ©   (2003-11-23 13:33) [26]

TVKDBFNTX - Обычный DataSet


 
Е-Моё имя ©   (2003-11-23 13:35) [27]

Удалено модератором


 
sniknik ©   (2003-11-23 13:39) [28]

undert © (23.11.03 13:29) [24]
> Исходники я выеладывал.
я их не видел, к тому же имел в виду исходники движка т.е. того драйвера через который доступ (а ты скорее всего свои, ;о) ну так и есть).
в случае с BDE может помочь чтение из буфера, то куда читается запись как есть до разбора на типы (вроде DbiGetRecord это и делает (читает как есть)) но у тебя же не BDE а вообще нопонятно чего.


 
undert ©   (2003-11-23 13:42) [29]


> Е-Моё имя © (23.11.03 13:35) [27]
> ->
> >> [26] undert © (23.11.03 13:33)
> >> TVKDBFNTX - Обычный DataSet
> <-
> да можно и не пояснять, по названию сразу понятно


Да ты вобще бы помолчал ... ни одно из твоих сообщений не несет никакого смыслового содержания, проще говоря ты только флеймишь тут.



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

Текущий архив: 2003.12.16;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.013 c
6-52313
lahtak
2003-10-20 23:42
2003.12.16
iHTMLInputElement


1-52137
начинающий программист
2003-12-04 07:38
2003.12.16
Привет всем, люди подскажите как активизировать в дельфи 7


14-52390
Владимир
2003-11-19 10:20
2003.12.16
Три закона Азимова


1-52202
DVP777
2003-12-05 11:24
2003.12.16
Автоповтор в проигрывания в MediaPlayer? - ну, забыл ей-богу!


1-52235
Mishenka
2003-12-04 22:08
2003.12.16
Как получить все файлы в каталоге, включая все вложенные?