![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 11.10.2007
Сообщений: 8
|
![]()
Здрасти!
Вот у меня такое задание... в форме1 я заполняю все поля и нажимаю кнопку ОК.... данные (например editFIO и editTel)с этих полей должны заноситься в StringGrid в одну строку и все поля очищаются..... Затем я снова заполняю все поля и данные опять заносятся в StringGrid во вторую строку и так до тех пор пока не нажму кнопку ВЫХОД.... После нажатия по этой кнопке ВЫХОД все данные из StringGrid должны сохраниться в файл для дальнейшей работы с ними..... А при следующем открытии файла, при заполнении формы1 данные должны дописоваться в файл..... Заранее благодарю..... |
![]() |
![]() |
![]() |
#2 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]()
Т.е. надо создать мини БД + отображение?
В чём возникла проблема? |
![]() |
![]() |
![]() |
#3 |
Регистрация: 11.10.2007
Сообщений: 8
|
![]()
почти.... надо создать мини БД через StringGrid, но она сама не должна быть видимой... дальше мне надо по номеру телефона чтобы искала нужную фамилию и выводила ее......
а проблема в том, что я не понимаю как записать код программы на кнопку ОК, посредством которой данные из Edit'ов заносятся СтрингГрид каждая на новую строчку (как описал выше).... т.е. я занес сколько мне нужно данных, нажал ВЫХОД и база сохранилась.... и еще, если вдруг данных больше надо вводить чем база по умолчанию (кол-во строк и столбцов)... можно ли сделать, чтобы на каждую новую запись добавлялась строка......... |
![]() |
![]() |
![]() |
#4 |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
![]()
Примерный набросок того что тебе надо:
Код:
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" Последний раз редактировалось AlDelta; 11.10.2007 в 20:34. Причина: Немного исправил исходник |
![]() |
![]() |
![]() |
#5 | ||
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
![]() Цитата:
Код:
Цитата:
Код:
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" Последний раз редактировалось AlDelta; 11.10.2007 в 20:35. |
||
![]() |
![]() |
![]() |
#6 |
Регистрация: 11.10.2007
Сообщений: 8
|
![]()
Спс за код, я его весь не взял, но делаю свою программку опираясь на него и еще другие источники.... у меня проблема, при данном коде, у меня сохраняется только последняя запись, а предыдущие все стираюся, не подскажите как проблему исправить, чтобы данные дополнялись а не затирались??
procedure TfEnter.btnExitClick(Sender: TObject); var F:TextFile; Base: Data; i:integer; begin AssignFile(F, 'C:\Base.sav'); Rewrite(F); for i:=1 to fBase.GetAmountOfLines(fBase.Grid)-1 do begin Base.Fam:= fBase.Grid.Cells[1,i]; Base.Im:= fBase.Grid.Cells[2,i]; Base.Ot:= fBase.Grid.Cells[3,i]; Base.DR:= fBase.Grid.Cells[4,i]; Base.Ad:= fBase.Grid.Cells[5,i]; Base.Tel:= fBase.Grid.Cells[6,i]; WriteLn(F, Base.Fam); WriteLn(F, Base.Im); WriteLn(F, Base.Ot); WriteLn(F, Base.DR); WriteLn(F, Base.Ad); WriteLn(F, Base.Tel); end; CloseFile(F); fEnter.Close; fSelect.Show; end; Последний раз редактировалось zzss; 12.10.2007 в 21:07. Причина: исправил на правильный код на сохранение.... |
![]() |
![]() |
![]() |
#7 | |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
![]()
Будь-ласка.
![]() Будь внимательным и люди к тебе потянутся: говорить о твоей невнимательности! (Владимир Борисов) ![]() Тебе нужно создать массив записей с типом Data и записывать в файл каждый элемент массива, вот так: Цитата:
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" Последний раз редактировалось AlDelta; 12.10.2007 в 14:44. |
|
![]() |
![]() |
![]() |
#8 | |
Регистрация: 11.10.2007
Сообщений: 8
|
![]() Цитата:
Base описал в Type как запись..... все записи у меня типа стринг.... В принципе из-за этой ошибки и хотел сделать через текстовый файл, думал получится...... |
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 11.10.2007
Сообщений: 8
|
![]()
Пока не дождался ответа на предыдущий ответ, сделал все-таки по своему через TextFile.... сделал чтобы сохранялось как надо, только вот считать данные не могу и занести их в стринггрид....
procedure TfSelect.FormCreate(Sender: TObject); var F: TextFile; i:integer; Base: Data; begin AssignFile(F, 'C:\Base.sav'); Reset(F); i:= 1; while not EOF(F) do begin readln(F, Base.Fam); readln(F, Base.Im); readln(F, Base.Ot); readln(F, Base.DR); readln(F, Base.Ad); readln(F, Base.Tel); fBase.Grid.Cells[1, i]:= Base.Fam; fBase.Grid.Cells[2, i]:= Base.Im; fBase.Grid.Cells[3, i]:= Base.Ot; fBase.Grid.Cells[4, i]:= Base.DR; fBase.Grid.Cells[5, i]:= Base.Ad; fBase.Grid.Cells[6, i]:= Base.Tel; i:= i+1; end; CloseFile(F); end; ошибку выдает на этом месте..... ошибка вылазит сразу после нажатия Ф9.... вылазит тобличка Error и там написано что-то типа 'Project Base09.exe raised exception class EAccessViolation with message.....' мне кажется надо просто как-то по другому записать данные строчки... только как не могу догадаться пока что, вот и обратился за помощью.... |
![]() |
![]() |
![]() |
#10 | |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
![]() Цитата:
![]() Код:
![]()
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" |
|
![]() |
![]() |