Форум: "Потрепаться";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.009 c