Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 07.05.2011
Сообщений: 18

курсовая Delphi

11.01.2012, 13:53. Показов 1454. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте помогите пожалуста разобраться, не работает в проекте сохранение и редактирование, у меня мозга уже не хватаетю
Вложения
Тип файла: rar Delphi kypc.rar (392.5 Кб, 81 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.01.2012, 13:53
Ответы с готовыми решениями:

Курсовая кроссворд Delphi
Пишу Пояснительную Записку уже какую неделю, правда не по своей проге. Тема Курсового "Составитель кроссворда" Помогите...

Крестики Нолики Delphi Курсовая
Помогите срочно ребята, мне до завтра нужно сдать курсовую по делфи крестики нолики, я сделал, точнее скачал, но не нашел с компьютером,...

Курсовая по Delphi
Помогите пожалуйста с курсовым, кто владеет делфи вам сделать легко наверно, пожалуйста скиньте готовую прогу!!!спасибо заранее

3
1 / 1 / 0
Регистрация: 07.05.2011
Сообщений: 18
11.01.2012, 13:57  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TMain.N3Click(Sender: TObject);
var
i: integer;
begin
if SaveDialog1.Execute then
begin
  AssignFile(F,SaveDialog1.FileName);
  if FileExists(SaveDialog1.FileName) then
  begin
    if MessageDlg('Файл с таким именем уже существует.Перезаписать?',mtConfirmation,[mbYes,mbNo],0)=mrNo then exit;
  end;
  rewrite(F,SaveDialog1.FileName);//Создание файла
  i:=0;
  while i<>StringGrid1.RowCount -1 do
  begin
  inc(i);
 
  Rec.Ncat:=StringGrid1.Cells[0,i];
  Rec.Nknigi:=StringGrid1.Cells[1,i];
  Rec.Nname:=StringGrid1.Cells[2,i];
  Rec.Nizd:=StringGrid1.Cells[3,i];
  Rec.Ncen:=Stringgrid1.Cells[4,i];
  write(F,Rec);
  CloseFile(F);
  end;
   end;
   end;
Добавлено через 1 минуту
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
unit Unit4;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, Menus, StdCtrls;
 
type
  TMain = class(TForm)
    StringGrid1: TStringGrid;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N5: TMenuItem;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    ComboBox1: TComboBox;
    Find: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    procedure FormShow(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure Button3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure FindClick(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 type
 Zap=record
   Ncat: string[30];
   Nknigi: string[30];
   Nname: string[30];
   Nizd: string[50];
   Ncen:string[30];
 end;
var
  Main: TMain;
  var
  add: boolean;
  F: File of Zap;
  Rec: Zap;
  Nomer: integer;
  i: integer;
  Kol: integer;
  implementation
 
uses Unit1, Unit2;
 
{$R *.dfm}
 
procedure TMain.Button1Click(Sender: TObject);
begin    //Добавление записи
EditRecord.Caption:='Добавление записи';
add:=true;
EditRecord.ShowModal;
end;
 
procedure TMain.Button2Click(Sender: TObject);
begin //Редактирование записи
EditRecord.Caption:='Изменение записи';
add:=false;
EditRecord.ShowModal;
end;
 
procedure TMain.Button3Click(Sender: TObject);
begin   //нажатие кнопки удалить
if Kol<>0 then
begin
  for i := Nomer to StringGrid1.RowCount - 1 do
with StringGrid1 do begin
  //сдвигаем строки
  Cells[0,i]:=Cells[0,i+1];
  Cells[0,i]:=Cells[1,i+1];
  Cells[0,i]:=Cells[2,i+1];
  Cells[0,i]:=Cells[3,i+1];
  Cells[0,i]:=Cells[4,i+1];
end;
Kol:=kol-1;
if Kol<>0 then StringGrid1.RowCount:=Kol+1
else
begin
  Button2.Enabled:=false;
  Button3.Enabled:=false;
end;
end;
 
end;
 
procedure TMain.FindClick(Sender: TObject);
var
i,j: integer;
s: string;
NF:Tform;
SG:Tstringgrid;
b:uint;
begin
if combobox1.ItemIndex <0 then exit;
i:=0;
NF:=Tform.Create(nil);
NF.Parent:=nil;
NF.Left:=screen.Width div 2;
NF.top:=screen.Height div 2;
NF.Width:=self.Width;
SG:=Tstringgrid.Create(nil);
SG.Parent:=NF;
 
SG.Align:=alclient;
SG.ColCount:=5;
SG.RowCount:=30;
b:=0;
for j:=0 to 4 do begin
SG.Cells[j,b]:=stringgrid1.Cells[j,0];
SG.ColWidths[j]:=stringgrid1.ColWidths[j];
end;
while stringgrid1.Cells[combobox1.ItemIndex,i]<>'' do begin
s:=stringgrid1.Cells[combobox1.ItemIndex,i];
 
if s=edit1.Text then begin
inc(b);
for j:=0 to 4 do begin
SG.Cells[j,b]:=stringgrid1.Cells[j,i];
end;
 
end;
inc(i);
end;
if b<>0 then NF.Show else messagebox(0,pchar('поиск завершён, но Увы'),'',0);
end;
 
 
procedure TMain.FormShow(Sender: TObject);
var
i: integer;
begin  //колонки
StringGrid1.Cells[0,0]:='Номер каталога';
StringGrid1.Cells[1,0]:='Номер книги';
StringGrid1.Cells[2,0]:='Наименование книги';
StringGrid1.Cells[3,0]:='Год издания';
StringGrid1.Cells[4,0]:='Цена 1 экземпляра';
with combobox1 do begin
for i:=0 to 4 do Items.Add(StringGrid1.Cells[i,0]);
 
end;
end;
 
procedure TMain.N2Click(Sender: TObject);
begin    //открытие файла
 if OpenDialog1.Execute and FileExists(OpenDialog1.Filename) then
 begin  //связываем имя файла с файловой переменной
   AssignFile(F,OpenDialog1.FileName);
   reset(F);
   i:=0;
   while not eof(F) do begin
   read (F,Rec);
   inc(i);
   StringGrid1.Cells[0,i]:=Rec.Ncat;
   StringGrid1.Cells[1,i]:=Rec.Nknigi;
   StringGrid1.Cells[2,i]:=Rec.Nname;
   StringGrid1.Cells[3,i]:=Rec.Nizd;
   StringGrid1.Cells[4,i]:=rec.Ncen;
   StringGrid1.RowCount:=i+1;//увеличиваем кол-во строк
   end;
   Kol:=i;
   CloseFile(F);
   end else ShowMessage('file not found')
end;
 
procedure TMain.N3Click(Sender: TObject);
var
i: integer;
begin
if SaveDialog1.Execute then
begin
  AssignFile(F,SaveDialog1.FileName);
  if FileExists(SaveDialog1.FileName) then
  begin
    if MessageDlg('Файл с таким именем уже существует.Перезаписать?',mtConfirmation,[mbYes,mbNo],0)=mrNo then exit;
  end;
  rewrite(F,SaveDialog1.FileName);//Создание файла
  i:=0;
  while i<>StringGrid1.RowCount -1 do
  begin
  inc(i);
 
  Rec.Ncat:=StringGrid1.Cells[0,i];
  Rec.Nknigi:=StringGrid1.Cells[1,i];
  Rec.Nname:=StringGrid1.Cells[2,i];
  Rec.Nizd:=StringGrid1.Cells[3,i];
  Rec.Ncen:=Stringgrid1.Cells[4,i];
  write(F,Rec);
  CloseFile(F);
  end;
   end;
   end;
 
procedure TMain.N5Click(Sender: TObject);
begin
Close;
end;
 
procedure TMain.N6Click(Sender: TObject);
begin
Form1.ShowModal;
end;
 
procedure TMain.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
Nomer:=Arow;//сохраняем номер строки
end;
 
end.
Весь код программы
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
11.01.2012, 16:36
Цитата Сообщение от Спам Посмотреть сообщение
не работает в проекте сохранение
Перенеси CloseFile(F) за первый end. Было
Delphi
1
2
3
4
5
Rec.Ncen:=Stringgrid1.Cells[4,i];
  write(F,Rec);
  CloseFile(F);
  end;
   end;
Должно стать
Delphi
1
2
3
4
5
Rec.Ncen:=Stringgrid1.Cells[4,i];
  write(F,Rec);
   end;
CloseFile(F); 
  end;
не работает в проекте редактирование
В юните2 где эта процедура
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TEditRecord.Button1Click(Sender: TObject);
var d: integer;
begin   //кнопка ОК
if add then
begin
  Kol:=Kol+1;
  Main.StringGrid1.RowCount:=Kol+1;
  d:=Kol;
  if Kol>0 then
  begin
    Main.Button2.Enabled:=true;
    Main.Button3.Enabled:=true;
    end else
    d:=Nomer;
    //заносим значения в таблицу
    Main.StringGrid1.Cells[0,d]:=Edit1.Text;
    Main.StringGrid1.Cells[1,d]:=Edit2.Text;
    Main.StringGrid1.Cells[2,d]:=Edit3.Text;
    Main.StringGrid1.Cells[3,d]:=Edit4.Text;
    Main.StringGrid1.Cells[4,d]:=Edit5.Text;
    end;
    Close;
end;
добавь между end и Close;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Main.StringGrid1.Cells[3,d]:=Edit4.Text;
    Main.StringGrid1.Cells[4,d]:=Edit5.Text;
    end
 
else
  begin
    Main.StringGrid1.Cells[0, Nomer] := Edit1.Text;
    Main.StringGrid1.Cells[1, Nomer] := Edit2.Text;
    Main.StringGrid1.Cells[2, Nomer] := Edit3.Text;
    Main.StringGrid1.Cells[3, Nomer] := Edit4.Text;
    Main.StringGrid1.Cells[4, Nomer] := Edit5.Text;
  end;
Close;
end;
1
1 / 1 / 0
Регистрация: 07.05.2011
Сообщений: 18
11.01.2012, 16:42  [ТС]
Cпасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.01.2012, 16:42
Помогаю со студенческими работами здесь

Курсовая по Delphi
Суть программы в том, что у нас дана таблица и по этой таблице мы должны найти конечные разности, а потом вывести полином и построить...

Курсовая delphi
помогите пожалуйста доделать курсовую у меня не работает добавить запись в программе и надо поставить пароль на администратора и гостя

Курсовая в Delphi
Доброго времени суток, помогите пжл, такая у меня проблема, мне дали такую тему &quot;Создание оболочки учебной программы&quot; и мне...

Курсовая по програм. в Delphi
Помогите пожалуйста вот с такой задачей для курсовой работы: Запрограммировать электронную записную книжку с функциями: ...

Курсовая робота Delphi
Ребята помогите нужно исходники вот от этой программы http://www.kursovik.com/exe.phtml?id=270506 написана она на делфи, вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru