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

Вниз

Создание DBF файла во время работы приложения   Найти похожие ветки 

 
KillaTank ©   (2009-02-12 23:43) [0]

Люди срочно нужно узнать код создания DBF файла во время работы приложения в delphi!


 
Медвежонок Пятачок ©   (2009-02-13 00:12) [1]

код такой: 2233-653-67
только никому не говори.....


 
Германн ©   (2009-02-13 01:22) [2]


> KillaTank ©   (12.02.09 23:43)
>
> Люди срочно нужно узнать код создания DBF файла во время
> работы приложения в delphi!
>

Считай, что ты проехал мимо. :)


 
KillaTank ©   (2009-02-13 07:24) [3]

Код програмный я имел в виду!


 
Palladin ©   (2009-02-13 07:27) [4]

Var
 DBFFile:File;
Begin
 AssignFile(DBFFile,"c:\file.dbf"); Rewrite(DBFFile);CloseFile(DBFFile);
End;


 
Anatoly Podgoretsky ©   (2009-02-13 09:13) [5]

> KillaTank  (12.02.2009 23:43:00)  [0]

Код простой - Table.CreateTable;


 
KillaTank ©   (2009-02-14 21:37) [6]

Спасибо большое, но код нашел:
...
const
 CreateTab = "CREATE TABLE ";
 IDXTab = "PRIMARY KEY ";
 MyTabStruct = "IDX_TAB DECIMAL(6,0), "
   + "DATE_ DATE, "
   + "FLD_1 CHARACTER(20), "
   + "FLD_2 DECIMAL(7, 2), "
   + "FLD_3 BOOLEAN, "
   + "FLD_4 BLOB(1, 1), "
   + "FLD_5 BLOB(1, 2), "
   + "FLD_6 BLOB(1, 3), "
   + "FLD_7 BLOB(1, 4), "
   + "FLD_8 BLOB(1, 5) ";
 ...

function TForm1.CreateTable(TabName, TabStruct, TabIDX: string): boolean;
var
 qyTable: TQuery;
begin
 result := true;
 qyTable := TQuery.Create(Self);
 with qyTable do
   try
     try
       SQL.Clear;
       SQL.Add(CreateTab + TabName + "(" + TabStruct + TabIDX + ")");
       Prepare;
       ExecSQL;    // ExecSQL, а не Open. Иначе ...
     except
       // Обработка ошибок открытия таблицы
       Exception.Create("Ошибка открытия таблицы");
       result := false;
     end;
   finally
     Close;
   end;
end;

// создание таблицы без индекса
procedure TForm1.Button1Click(Sender: TObject);
begin
 if CreateTable(""MYTAB1.DBF"", MyTabStruct, "") then
   ...    // выполняем дальнейшие операции
 else
   ...
end;

// создание таблицы с индексом
procedure TForm1.Button2Click(Sender: TObject);
begin
 if CreateTable(""MYTAB2.DBF"", MyTabStruct, IDXTab + " (IDX_TAB)") then
   ...    // выполняем дальнейшие операции
 else
   ...
end;


Единственное что  не понял, как сделать так, чтобы файл создавался в папке в месте с программой и пользователь сам давал название таблице, а то стандартное MYTAB невозможно использовать много раз в одной папке!


 
KillaTank ©   (2009-02-14 21:42) [7]

И сюда же еще вопрос! Я использовал стандартное поле DBGrid для отображения таблици, но у меня все поля большие и пользователю, чтобы просмотреть его надо крутить очень долго. Как можно осуществить следующее: для просмотра данных пользователь счелкает по полю с нужной информацией, открывается новая форма где будет отображена данная информация? Заранее спасибо!


 
Сергей М. ©   (2009-02-14 21:44) [8]


> код нашел


Найти мало - надо еще узнать)


 
KillaTank ©   (2009-02-14 21:49) [9]

Ну код ессесно разбирал, надо же знать на будующее как делать! Но некоторые моменты не понятны!как сделать так, чтобы файл создавался в папке в месте с программой и пользователь сам давал название таблице, а то стандартное MYTAB невозможно использовать много раз в одной папке!


 
Сергей М. ©   (2009-02-14 22:19) [10]

путь к папке с текущей выполняемой программой - ExtractFilePath(Application.ExeName)

Ввод строки - InputBox


 
KillaTank ©   (2009-02-14 22:24) [11]

И как это описать? простите стыдно но не знаю((


 
Сергей М. ©   (2009-02-14 22:28) [12]

Чего "описать" ?
Ты F1 жал ?


 
KillaTank ©   (2009-02-14 22:46) [13]

ой да забыл(
Вообщем все сделал появляется окно ввожу имя.. но сохраняет со старым! begin

 InputString:= InputBox("Input Box", "Имя таблицы", "Введите имя таблицы");

 if CreateTable(""MYTAB1.DBF"", MyTabStruct, "") then
   // выполняем дальнейшие операции
 else
end;


 
Amoeba ©   (2009-02-14 22:55) [14]

А если так?
if CreateTable(InputString, MyTabStruct, "") then


 
Amoeba ©   (2009-02-14 22:58) [15]

А если так?
if CreateTable(InputString, MyTabStruct, "") then


 
KillaTank ©   (2009-02-14 22:58) [16]

Ухх спасибо создает! Но только DB а не dbf! Мне нужно dbf? Как изменить?


 
Сергей М. ©   (2009-02-14 22:59) [17]


> KillaTank ©   (14.02.09 22:46) [13]



> ой да забыл


Ну так жми скорей !


 
KillaTank ©   (2009-02-14 23:04) [18]


> Сергей М. ©   (14.02.09 22:59) [17]
>
>
> > KillaTank ©   (14.02.09 22:46) [13]
>
>
>
> > ой да забыл
>
>
> Ну так жми скорей !

Я выше написал в чем проблема.


 
Anatoly Podgoretsky ©   (2009-02-14 23:09) [19]

Что такое DBF?


 
KillaTank ©   (2009-02-14 23:11) [20]

DBF - это расширение таблицы, которую можно создать через VPF (Visual Fox Pro).


 
Сергей М. ©   (2009-02-14 23:11) [21]

В чем же ?


 
Сергей М. ©   (2009-02-14 23:14) [22]

http://delphimaster.net/view/2-1233487037/

Ты все еще дерево мусолишь ?


 
Сергей М. ©   (2009-02-14 23:17) [23]


> DBF - это расширение таблицы


У таблицы нет расширения.
Расширение есть у имени файла, который имея это расширение вовсе не обязан быть "таблицей".


 
Сергей М. ©   (2009-02-14 23:18) [24]

И, кстати. чем не угодило "db" ?


 
KillaTank ©   (2009-02-14 23:25) [25]

У меня вся программа ориентированна на dbf, и переписывать на db сложно.. как раз я там пытался, плюнул переписал все заново. Все работает, кроме создания новой dbf с новым именем!
И сюда же еще вопрос! Я использовал стандартное поле DBGrid для отображения таблици, но у меня все поля большие и пользователю, чтобы просмотреть его надо крутить очень долго. Как можно осуществить следующее: для просмотра данных пользователь счелкает по полю с нужной информацией, открывается новая форма где будет отображена данная информация? Заранее спасибо!


 
Сергей М. ©   (2009-02-14 23:28) [26]


> Как можно осуществить следующее


Что ты ожидал увидеть в ответ ?


 
KillaTank ©   (2009-02-14 23:32) [27]

Подсказку, как при допустим двойном шелчке мыши по полю в риде запустилась форма на которой вывелось содержание строки по которой счелкнули!


 
Сергей М. ©   (2009-02-14 23:35) [28]

Тебе был задан вопрос - что ты ожидаешь увидеть в ответ на вопрос "как" ?


 
KillaTank ©   (2009-02-14 23:36) [29]

И кстати Imputbox есть в панели инструментов? и если есть то где?


 
Сергей М. ©   (2009-02-14 23:37) [30]


> Imputbox есть в панели инструментов?


С какого перепугу оно там окажется ?
Ты вообще F1 жал или нет ?


 
KillaTank ©   (2009-02-14 23:38) [31]

ал ясен пряник но у меня англ версия исходник кода нашел, а описания самого Импут бокса не смог перевести!


 
Сергей М. ©   (2009-02-14 23:41) [32]


> у меня англ версия


> описания самого Импут бокса не смог перевести


Каковы твои предложения ?


 
KillaTank ©   (2009-02-15 00:24) [33]

Сидеть со словарем?


 
KillaTank ©   (2009-02-15 00:25) [34]

Но мне так и не обьяснили почему когда я применил импут бокс, у меня начали создаваться таблицы с расширением db?


 
Anatoly Podgoretsky ©   (2009-02-15 00:36) [35]

Visual FoxPro говоришь, но БДЕ поддерживает фокспро только до версии 2.5


 
Германн ©   (2009-02-15 00:51) [36]


> KillaTank ©   (15.02.09 00:25) [34]
>
> Но мне так и не обьяснили почему когда я применил импут
> бокс, у меня начали создаваться таблицы с расширением db?
>
>

Вообще-то у BDE есть свои настройки. И эти настройки можно установить/изменить с помощью программы bdeadmin.exe.


> KillaTank ©   (14.02.09 23:38) [31]
>
> ал ясен пряник но у меня англ версия

А у всех аглц версия. Но большинство как-то изворачивается. :)


 
KillaTank ©   (2009-02-15 11:28) [37]

Германн ©

Понимаешь у меня создавало БДФ пока не использовал импутбокс, из-за него начало создавать Дб. Это проблема в коде, а не в настройках!


 
Сергей М. ©   (2009-02-15 18:04) [38]


> KillaTank ©   (15.02.09 00:24) [33]
>
> Сидеть со словарем?


Сиди.
Что-то мешает ?


 
KillaTank ©   (2009-02-15 18:35) [39]

Да курсовая


 
Anatoly Podgoretsky ©   (2009-02-15 19:48) [40]

Купи



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

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

Наверх




Память: 0.56 MB
Время: 0.015 c
15-1234260459
vajo
2009-02-10 13:07
2009.04.12
Какой самый производительный проц подойдет к материнке?


2-1234471401
KillaTank
2009-02-12 23:43
2009.04.12
Создание DBF файла во время работы приложения


2-1235327758
mm_ash
2009-02-22 21:35
2009.04.12
Dataset Buffers


15-1234454205
БарЛог
2009-02-12 18:56
2009.04.12
Книги по Java


2-1235568143
Sandman
2009-02-25 16:22
2009.04.12
вытащить из строки определенные данные. как?