Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];

Вниз

Создание 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.006 c
15-1234632154
Кто б сомневался
2009-02-14 20:22
2009.04.12
Разрешение экрана


2-1235128950
Franzy
2009-02-20 14:22
2009.04.12
Написание и отладка DLL в Delphi7


2-1235371106
Ryden
2009-02-23 09:38
2009.04.12
Как повернуть компанент TDBGrid


9-1178802476
Sergey1982
2007-05-10 17:07
2009.04.12
Вопрос по динамическим структурам данных


2-1235471600
cosinus
2009-02-24 13:33
2009.04.12
isWindowVisible





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский