|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.05.2007, 15:11 | #1 |
Регистрация: 15.04.2007
Сообщений: 9
|
Заполнение StringGrid из Edit
Привет! Нужно чтобы при нажатии кнопки в ячейки турнирной таблицы вводились результаты из двух Editов через двоеточие. Не получается. Вот код
procedure TForm1.Button1Click(Sender: TObject); var sg:TStringGrid; i:integer; begin for i:=1 to sg.ColCount-1 do begin sg.Cells[i,1]:=Edit1.text; sg.Cells[i,1]:=':'; sg.Cells[i,1]:=Edit2.Text; end; begin sg.Cells[i,2]:=Edit1.text; sg.Cells[i,2]:=':'; sg.Cells[i,2]:=Edit2.Text; end; begin sg.Cells[i,3]:=Edit1.text; sg.Cells[i,3]:=':'; sg.Cells[i,3]:=Edit2.Text; end; begin sg.Cells[i,4]:=Edit1.text; sg.Cells[i,4]:=':'; sg.Cells[i,4]:=Edit2.Text; end; end; Ребята, подскажите пожалуйста, что не так((((( |
01.05.2007, 15:54 | #2 |
Пользователь
Регистрация: 10.02.2007
Сообщений: 13
|
Зачем ты после первого столбца закрываешь цикл? Если у тебя 1 цикл, то просто убери все begin и end, кроме открывающего цикл и закрывающего его
|
01.05.2007, 17:10 | #3 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
На счёт цикла - это раз
Но ещё и косяк с присваиванием!!! Вы присваиваете сначало одно, потом второе, потом третье - в итоге остаётся только третье (Edit2.text)! Вот готовое: Код:
Последний раз редактировалось zetrix; 01.05.2007 в 17:13. |
01.05.2007, 19:51 | #4 |
Регистрация: 15.04.2007
Сообщений: 9
|
:)
Спасибо огромное Мне стыдно за моё невежество Я Делфи занимаюсь меньше месяца
|
01.05.2007, 20:12 | #5 |
Регистрация: 15.04.2007
Сообщений: 9
|
(
Ребят, ну всё равно ошибку выдаёт...вот код....
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; StringGrid1: TStringGrid; procedure StringGrid1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure Edit2Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.StringGrid1Click(Sender: TObject); var sg:TStringGrid; begin sg.RowCount:=5; sg.ColCount:=5; begin sg.Cells[0,0]:='Êîìàíäû'; sg.Cells[0,1]:='Ñïàðòàê'; sg.Cells[0,2]:='Äèíàìî'; sg.Cells[0,3]:='Ìåòàëëóðã'; sg.Cells[0,4]:='Øèííèê'; sg.Cells[1,0]:='Øèííèê'; sg.Cells[2,0]:='Ìåòàëëóðã'; sg.Cells[3,0]:='Ñïàðòàê'; sg.Cells[4,0]:='Äèíàìî'; end; end; procedure TForm1.Button1Click(Sender: TObject); var sg:TStringGrid; i:integer; begin for i:=1 to sg.ColCount-1 do begin sg.Cells[i,1]:=Edit1.Text+':'+Edit2.Text; sg.Cells[i,2]:=Edit1.Text+':'+Edit2.Text; sg.Cells[i,3]:=Edit1.Text+':'+Edit2.Text; sg.Cells[i,4]:=Edit1.Text+':'+Edit2.Text; end; procedure TForm1.Edit1Change(Sender: TObject); begin if Length(Edit1.Text)=0 then Button1.Enabled:=False else Button1.Enabled:=True; end; procedure TForm1.Edit2Change(Sender: TObject); begin if Length(Edit2.Text)=0 then Button1.Enabled:=False else Button1.Enabled:=True; end; end. |
01.05.2007, 20:26 | #6 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
1*) Смотрите свой код!!! Код:
2*) но вот главное: Код:
Почитайте литературу (см. подпись), т.к. Ваш код (см. 1*) показывает полное непонимание. |
02.05.2007, 19:50 | #7 |
Регистрация: 15.04.2007
Сообщений: 9
|
(((
Не надо на меня злиться....Я только пытаюсь что-то сделать...
Спасибо Вам конечно огромное, но программа ВСЁ РАВНО не работает....Я уже не знаю почему...И дело уже не в недостающем end'е....Я всё сделала так, как вы написали. Тормозит ровно на строке sg.Cells[i,1]:=..... Последний раз редактировалось Инна; 02.05.2007 в 20:03. |
03.05.2007, 10:53 | #8 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
procedure TForm1.Button1Click(Sender: TObject);
var //sg:TStringGrid; i, j:integer; begin for i:=1 to stringgrid1.ColCount-1 do for j:=1 to 4 do begin stringgrid1.Cells[i,j]:=Edit1.Text+':'+Edit2.Text; stringgrid1.Cells[i,j]:=Edit1.Text+':'+Edit2.Text; stringgrid1.Cells[i,j]:=Edit1.Text+':'+Edit2.Text; stringgrid1.Cells[i,j]:=Edit1.Text+':'+Edit2.Text; end; end; В данном случае выдает ошибку объевление класса TStringGrid, а вот почему оно выдает эту ошибку я не розбирался, ну вообщем можешь кидать данный обработчик события OnClick своей кнопки и будет работать
Свободу клавиатурным самураям...
|
03.05.2007, 11:00 | #9 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Интересная фишка получается. Ни в одном из предыдущих примеров, где объявлялась переменная sg: TStringGrid не было ее создания. Как же с ней тогда можно работать? Компонент StringGrid1 есть на форме, она сама его создаст, об этом заботиться не надо, а об остальном надо.
Не надо ничего усложнять. Все достаточно тривиально.
|
03.05.2007, 11:07 | #10 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Хм... точно. А Вам не самом деле компонент StringGrid надо создать динамически? Может проще на форму положить зараннее?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Edit vs StringGrid | artemavd | Общие вопросы Delphi | 3 | 13.07.2008 11:56 |
Edit мы StringGrid | artemavd | Общие вопросы Delphi | 0 | 12.07.2008 13:50 |
Заполнение GataGridView из .txt (C#) | Munky | Общие вопросы .NET | 0 | 03.05.2008 21:55 |
Вывод столбцов StringGrid в Edit | ***СкаЙ*** | Помощь студентам | 1 | 04.05.2007 08:16 |