Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение Table с помощью SaveDialog (Paradox) 
:(
    Опции темы
shaft666
Дата 21.12.2005, 21:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня вот какой вопрос!!! Есть таблица (Paradox), и ее нужно как-то сохранить с помощью SaveDialog и Table?????
  Вверх
YurikGL
Дата 21.12.2005, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Цитата
Есть таблица (Paradox), и ее нужно как-то сохранить с помощью SaveDialog и Table?????


Если нужно сохранить таблицу внутрь базы, то достаточно Table... если во внешний файл, то можно через SaveDialog.... А чем объясняется такой странный выбор компонентов?
--------------------
 
PM MAIL WWW ICQ   Вверх
Dron84
Дата 22.12.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 11.9.2005
Где: Россия

Репутация: 1
Всего: 1



а в чём собственно проблема?
читай таблицу Eof до конца и затем а затем записывай поля через Writeln, естественно всё это в цикле... как считал одну строку делай Table.Next и усё...
PM MAIL   Вверх
SPrograMMer
Дата 22.12.2005, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: 1
Всего: 6



Цитата(Dron84 @ 22.12.2005, 17:39)
в чём собственно проблема?
читай таблицу Eof до конца и затем а затем записывай поля через Writeln, естественно всё это в цикле... как считал одну строку делай Table.Next и усё...


Dron84, как я понимаю человек хочет именно Paradox`овскую таблицу сохранить, т е файл *.db с его структурой....
Добавлено @ 23:43
shaft666, структура таблицы заранее известна?


--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
Dron84
Дата 23.12.2005, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 11.9.2005
Где: Россия

Репутация: 1
Всего: 1



SPrograMMer
а разницы нет...
в общем вот накатал кодик...
этот код вписать в батн сохранения...
Код

var
   s: string;
begin
  if SaveDialog.Execute then
    begin
      s := SaveDialog.FileName;
        if pos('.txt',s) = 0 then
          s := s + '.txt';
        if FileExists(s) then
          begin
            if MessageBox(0,'Такой файл уже существует. Перезаписать?','', MB_YESNO or MB_ICONQUESTION) = IDYES then
            Write(s);
          end
        else
          Write(s);
    end;

а это отдельная процедура для чтения таблицы
Код

procedure TViewPrice.Write(const s: string);
var
   f: TextFile;
begin
       AssignFile(f,s);
       ReWrite(f);
       data.TOrgPrices.First;
       while not data.TOrgPrices.Eof do
         begin
          writeln (f, data.TOrgPrices.FieldByName('Goods').AsString + ' - ' +
                      data.TOrgPrices.FieldByName('Price').AsString + ' - ' +
                      data.TOrgPrices.FieldByName('Other').AsString);
          data.TOrgPrices.Next
         end;
       data.TOrgPrices.First;
       CloseFile(f);
end;

естественно Write объявить в pivate....
проверял, работает нормально.... smile
удачи...
PM MAIL   Вверх
SPrograMMer
Дата 24.12.2005, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: 1
Всего: 6



Dron84, у тебя получается ТИПИЗИРОВАННЫЙ (ну можно даже сказать паскалевский) файл, а я говорил, насчет Paradox`овского, т е что бы этот файл можно было бы просмотреть в любой программе типа DataBase Desktop.... т е действительно файл базы данных...
Вот поэтому я и спрашивал у shaft666`а... Такое можно сотворить, коли знаешь структуру таблицы...

Добавлено @ 16:13
Вот пример:
Код

Var
  NewTable:TTable;
begin
NewTable:=TTable.Create(Self);
With NewTable Do Begin
 Active:=False;
 DatabaseName:='TestDB';
 TableType:=ttParadox;
 TableName:='Test.db';   // здесь конкретное имя файла, можно прикрутить Dialog
 with FieldDefs Do Begin
   With AddFieldDef do Begin
     Name:='ID';
     DataType:=ftAutoInc;
     Required:=True
   End;
   With AddFieldDef do Begin
     Name:='Name';
     DataType:=ftString;
     Size:=50
   End;
 End;
 with IndexDefs Do
   With AddIndexDef Do Begin
     Name:='';
     Fields:='ID';
     Options:=[ixPrimary]
   End;
 CreateTable; // непосредственно создаем файл
End;



--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
Dron84
Дата 25.12.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 11.9.2005
Где: Россия

Репутация: 1
Всего: 1



SPrograMMer
это для парадокса и есть, просто я это уже для созданной таблицы а не для того чтобы создавать её программно...
вопрос был не том чтобы создать таблицу программно, а как сохраниь данные из таблици....
PM MAIL   Вверх
SPrograMMer
Дата 26.12.2005, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: 1
Всего: 6



Цитата(Dron84 @ 25.12.2005, 18:35)
вопрос был не том чтобы создать таблицу программно, а как сохраниь данные из таблици

вот-вот. ты так понимаешь вопрос, а я его понимаю... в общем в примере я и реализовал то как я его понимаю....
давай больше спорить не будем, а дождемся shaft666`а ( smile ) может он сам и скажет чего он хотел-то на самом деле....


--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
shaft666
Дата 28.12.2005, 11:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











1) Я вот чего хотел: Жмешь на кнопку Сохранить таблицу как, вылазит SaveDialog в нем указываем имя файла и и выбираем расшерение(*.db). Таблица должна сохраняться полностью, со всеми полями, индексами и записями (перечеслять каждое поле будет очень некрасиво (их около 300 ) ). Может как нибудь через копирование???

2) И ребят подскажите как можно создавать новую таблицу со старой структурой (Нажимаешь кнопочку создать новую БД, опять же вылазит SaveDialog, показываем куда сохранить, имя и расширение(db).)....

3) И вот еще вопрос. Открываю таблицу (проиндексированную) жму Cортировать вот с таким кодом:
Код
Table1.IndexName := 'indFam';

ошибка невыскакивает, добавляю новую запись, опять жму Сортировать и выскакивает вот такого типа ошибка:
Цитата
'Index is Out of date index: indFam'

  Вверх
shaft666
Дата 28.12.2005, 11:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Извеняюсь за оффтоп! Выше код не для C++, а для Delphi!!! smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.1028 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.