Форум: "Начинающим";
Текущий архив: 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