Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2010, 19:27   #1
alexeybest
Пользователь
 
Регистрация: 13.02.2010
Сообщений: 17
По умолчанию запись в БД

Здравствуйте.
Вопрос мой про чтение из txt файла в ADo table.
Есть текстовой файл вида
Номер:12
ФИО:Иванов Иван Иванович
Номер паспорта:52342
@@@
и т.д.

Хотел передать оттуда информацию в Adotable

Обрабатываю строки при чтении из файла:
Код:
  for i:=1 to length(stroka) do    
      begin
      if stroka[i]=':'   then begin
             temp1:=copy(stroka,1,i-1); 
             break;
        end;
      
      end;
       for i:=1 to length(stroka) do    
      begin
          if stroka[i]=':'  then begin
              temp2:=copy(stroka,i+1,length(stroka)); 
              break;
        end;
      end;
 
     Listbox3.Items.Add(temp1);
     Listbox4.Items.Add(temp2);
  
    Adotable6.TableName:='Table1';
    Adotable6.First;
    ADoTable6.Insert;

    Adotable6.FieldByName('Номер').AsString:=Edit11.Text;
    Adotable6.FieldByName('ФИО').AsString:=Edit12.Text;
Пока работаю с 1 записью. Мне хочется узнать - как использовать в коде разделитель между записями (разделитель @@@).
Буду очень признателен за помощь.

У нас принято оформлять код специальным тэгом - при помощи кнопочки "#".
Только...
И не значком #.
И не РНР-кодом.
И не значком цитаты.
И не собственными "ручками".
Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Модератор

Последний раз редактировалось mihali4; 18.02.2010 в 20:41.
alexeybest вне форума Ответить с цитированием
Старый 18.02.2010, 20:18   #2
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

то есть тебе нужно, чтобы обрабатывались все строки из файла а не одна?

тогда:
Код:
var f:textfile; 
     stroka:string;

begin
  assignfile(f, <имя_файла>);
  reset(f)
  while not eof(f) do
   begin
    readln(f, stroka);
    if strkoa<>'@@@'
     then
      begin
       {твой код для обработки строки и записи в таблицу};
      end;
  end;
Тяжело быть бестолковым.....

Последний раз редактировалось Dark_Spirit; 18.02.2010 в 20:27. Причина: ошибся.....
Dark_Spirit вне форума Ответить с цитированием
Старый 19.02.2010, 08:31   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Ну можно считать файл в стринглист и в цикле просмотреть строчки
и по условиям выдирать ФИО номер
пример
Код:
var SL.TStringList;
     fam,number:string;
.....
SL:=TStingList.Create;
SL.LoadFromFile('указываем путь');
Adotable6.First;
for i=0 to SL.Count-1 do
begin
 if Pos ('ФИО',SL[i])>0 then fam:=....//берём имя
 if Pos ('Номер',SL[i])>0 then number:=...//берём номер паспорта 
 if Pos ('@@@',SL[i])>0 then
 begin
  Adotable6.Insert;
  Adotable6.FieldByName('Номер').AsString:=number;
  Adotable6.FieldByName('ФИО').AsString:=fam;
  Adotable6.Post;
 end;
end;
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись в файл Артэс Общие вопросы C/C++ 12 24.11.2009 01:32
Запись в БД Vitaliy3009 БД в Delphi 6 09.10.2009 14:43
запись CD chekanoff Общие вопросы Delphi 2 10.04.2008 00:04