![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Считываю данные из текстового файла в парадоксовскую таблицу, пос [D6, Win95/98]
DN © (2002-10-21 17:32:00)леднее поле типа MEMO, выдает ошибку на отсутствие файла типа *.MB в котором как я понимаю должно храниться значение этого поля. Кто знает, подскажите что за файл, и как его организовать?
Max Zyuzin (2002-10-22 13:12:00) [1]Это потому, что оно Memo ;) Используй DBMemo для отображения.
Можно Grid взять особенный... я только не в курсе какой вроде как RXDBGrid отображает... (но может вру)
DN (2002-10-22 12:36:00) [2]>>Max Zyuzin
После пересоздания таблицы все заработало, файл .MB вырос с 2КБ до 36, но почему в этом поле MEMO не отображается его значение, а только (MEMO)????????
gek (2002-10-22 11:23:00) [3]А так не пашет >
Table1.FieldByName("Note").Asstring:=s5;
Max Zyuzin (2002-10-22 11:06:00) [4]Попробуй еще раз создать таблицу с такими же полями...
DN (2002-10-22 11:03:00) [5]М..да, тоже самое "Not exact read/write .....MB"
DN (2002-10-22 10:34:00) [6]>> Max Zyuzin
Table1.FieldByName("Data").AsString:=s4;
s5:=Copy(s3N,11,Length(s2N)-11);// пятая часть
// Table1.FieldByName("Note").AsMemo:=s5;
В комментарии строка, которая считывает данные в мемо-поле и не работает(извиняюсь, сразу не скопировал в сообщение)
Файл .MB есть рядом с .DB
Вылетает на первом проходе.
Сейчас попробую с value.
Max Zyuzin (2002-10-22 10:15:00) [7]Вылетает на первом же проходе?
А где у вас Table1.Post;
Зачем выделяем s5?
Table1.FieldByName("Data").value:=s4;? А так?
А вообще на диске есть файл с расширением *.MB? Может вы его случаем потерли или не дозаписали (если переписывали от куда нить)? Попробуйте создать таблицу еще раз...
DN (2002-10-22 10:08:00) [8]
if OpenDialog2.Execute then
begin
AssignFile(F, OpenDialog2.FileName);
Reset(F);
Table1.DisableControls;
while not EOF(F) do
begin
Readln(F,St1);
St := St + #13 + St1;
if St1 = "######" then
begin
Table1.Append;
SN:=StringReplace(St, "#", " ",Flags);
{ разбиение строки SN на значения полей для занесения в БД }
s:=SN; // исходная строка
s1:=Copy(s,1,pos(",",s)-1); // первая часть
Table1.FieldByName("Identifikator").AsString:=s1;
s1N:=Copy(s,pos(",",s)+1,Length(s)-pos(",",s));
s2:=Copy(s1N,2,pos(",",s1N)-2); // вторая часть
Table1.FieldByName("Vid_doc").AsString:=s2;
Delete(s2,Length(s2),1);
s2N:=Copy(s1N,pos(",",s1N)+1,Length(s1N)-pos(",",s1N));
s3:=Copy(s2N,2,pos(",",s2N)-3); // третья часть
Table1.FieldByName("Num_akt").AsString:=s3;
s3N:=Copy(s2N,pos(",",s2N)+1,Length(s2N)-pos(",",s2N));
s4:=Copy(s3N,2,8); // четвертая часть
Table1.FieldByName("Data").AsString:=s4;
s5:=Copy(s3N,11,Length(s2N)-11);// пятая часть
Table1.Next;
Delete(SN,1,Length(SN));
end;
CloseFile(F);
end
else
ShowMessage("Даааа-ааа-аа-а");
end;
DN (2002-10-22 09:46:00) [9]Да
gek (2002-10-22 09:46:00) [10]Приведи код
Max Zyuzin (2002-10-22 09:31:00) [11]А у вас точно есть поле Memo в таблице?
DN (2002-10-22 09:18:00) [12]Таблица есть, я в нее считываю данные из текстового файла, все поля считывают в себя значения кроме этого MEMO
Демонов Е.В. (2002-10-21 17:53:00) [13]Что то я не понял - у вас уже есть парадоксовская таблица или ?
Демонов Е.В. (2002-10-21 17:52:00) [14]Тип мемо обычно задаётся так : какоето количество символолв мемо поля хранится в самом парадоковском файле остальное в файле *.MB
(Так же и BLOB поля).
организовать его может и можно создав новую таблицу с таким же именем с такой же структурой и заполнив таким же количеством записей как и используемая вами - потом просто передрать файл *.MB - хотя ...... кто знает ? Здаётся мне что файл *.MB зделан не просто .. наверно в нем как то хитро организуется хранение данных - иначе просто небыло бы смысла.
Но всё равно попробуй. ...