Работа с файлами, И вновь продолжается бой |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Работа с файлами, И вновь продолжается бой |
Искатель |
20.03.2011 0:45
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 44 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Здравствуйте! Очень нуждаюсь в помощи знатоков в Делфи! (Стыдно спрашивать, но не некуда деваться – я пока ещё учусь)
В результате титанических усилий мне удалось создать некое подобие того, что должно быть. А именно – пытаюсь выполнить лабораторку «Работа с файлами», но плохо получается. Если можно не смейтесь надо мной. 1. После запуска компилятора почему-то не отображаются заголовки столбцов! 2. Не знаю, как правильно запрограммировать такие кнопки (белеберда какая-то получается): «Открыть файл» (т.е. ранее созданный файл) «Вывести в таблицу» (т.е. при нажатии на кнопку, введенные в Edit-ах данные появлялись в строку. Здесь у меня вроде сначала получилось, но потом я понял, что сделал неправильно) «Добавить запись» (т.е. после заполнения Edit-ов и нажатия на кнопку заполнялась бы следующая строка в таблице) «Удалить запись»: (при нажатии удалить выделенную! строку со сдвигом нижних строк вверх, к заголовку) Подскажите, если можно, где я напортачил ? Прикрепленные файлы _______________________.rar ( 262.75 килобайт ) Кол-во скачиваний: 183 |
volvo |
20.03.2011 3:07
Сообщение
#2
|
Гость |
Цитата 1. После запуска компилятора почему-то не отображаются заголовки столбцов! Заголовки и не должны появляться после запуска компилятора. После компиляции и запуска программы - возможно. Но для этого присвоение заголовкам значений нужно сделать в событии OnCreate формы, а не по клику на СтрингГрид, и не по клику на кнопку:procedure TForm1.FormCreate(Sender: TObject); Цитата 2. Не знаю, как правильно запрограммировать такие кнопки По кнопке "Вывести в таблицу". Для начала, посмотри внимательно на предыдущую процедуру. Я там не просто так выставил 2 строки в таблице, и одну - фиксированную. Теперь добавление данных к таблице можно сделать так::procedure TForm1.Button2Click(Sender: TObject);Всё. Больше ничего здесь быть не должно. Никакой работы с файлами. Задача этого обработчика - добавить данные в таблицу (это то, что написано на кнопке), а не открыть зачем-то еще текстовый файл, а потом его закрыть. Для работы с файлом существуют другие обработчики. Каждый занимается строго своим делом, иначе будет бардак. Цитата «Добавить запись» (т.е. после заполнения Edit-ов и нажатия на кнопку заполнялась бы следующая строка в таблице) Следующая строка в таблице теперь заполняется при нажатии на "Вывести в таблицу". Кнопку "Добавить запись" можешь убрать.Цитата «Удалить запись»: (при нажатии удалить выделенную! строку со сдвигом нижних строк вверх, к заголовку) Как это сделать написано в " Drkb -> VCL -> StringGrid -> Удаление и добавление столбцов и колонок -> Вставка и удаление строк в StringGrid "А метод TStringGrid.OnClick вообще убери, он не нужен, только мешает пользователю. Если нужно менять ширину столбцов - то делай это тоже при создании формы... |
Искатель |
20.03.2011 13:02
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 44 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Спасибо огромное! Сижу, колдую над проектом...
|
Искатель |
20.03.2011 16:58
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 44 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
После выполнения всех инструкций часть проблем устранилась, спасибо!
Люди добрые! Подскажите, как связать компонент ComboBox1 с Edit-ами и таблицей. Т.е. чтобы после выбора из раскрывающегося списка какого-то фильма и заполнения полей в таблице отпечатывалась новая строка с этим фильмом. Я вроде бы всё это прописал, но идет подчеркивание красной линией и компилятор не запускается. Прикрепленные файлы _______________________.rar ( 266.31 килобайт ) Кол-во скачиваний: 185 |
volvo |
20.03.2011 18:12
Сообщение
#5
|
Гость |
Не путай сравнение и присваивание. В логических условиях используется именно сравнение, причем компилятор тебе об этом говорит. Убери двоеточие. И еще: не путай латинские и русские символы. У тебя первая буква в
comboBox1.ItemIndex:=0;(обработчик FormCreate) - русская. Это не будет компилироваться. Исправь на латинскую. |
Искатель |
20.03.2011 21:04
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 44 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Спасибо!
|
Текстовая версия | 28.04.2024 22:43 |