![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Atreides |
![]()
Сообщение
#1
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Столкнулся с задачкой, переброски данных из приложения в эксель. Взял пример из DRKB, все получилось, только вот проблемка с шириной ячеек, как в экселе сделать форматирование ячеек? И еще приложил скрин формы приложения. там внизу у меня есть пустая строка, туда хотел дописать Итого и сумму по всем значений в 4 столбце, но вот никак не пойму как сделать в гриде у значения типа стриг, и как их просуммировать, в типе реал вроде не понимает точку, вместо запятой. Давно мучает вопрос, как прописать, что бы в поле Edit можно было вводить только 4 цифры и только цифры, а так же сделать проверку на его заполнение, на ссылку типа Null вроде не реагирует.
unit Print_Otch; Эскизы прикрепленных изображений ![]() -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата только вот проблемка с шириной ячеек, как в экселе сделать форматирование ячеек? Sheet.Range['D:D'].Select; // Здесь тот столбец (можно - область), который надо отформатировать Цитата туда хотел дописать Итого и сумму по всем значений в 4 столбце, но вот никак не пойму как сделать в гриде у значения типа стриг, и как их просуммировать По крайней мере вот это:procedure TForm1.Button1Click(Sender: TObject);отработало прекрасно... Все точки и запятые в числах меняются на правильный для твоих установок разделитель... Цитата Давно мучает вопрос, как прописать, что бы в поле Edit можно было вводить только 4 цифры и только цифры Проверяй нажатую кнопку (событие OnKeyPress), и если не цифра, или какой другой нужный символ - то обнуляй:if not (Key in ['0' .. '9']) then Key := #0; Цитата а так же сделать проверку на его заполнение А проверить длину Edit1.Text нельзя? Если 0 - то пустой, иначе - заполненный. |
Atreides |
![]()
Сообщение
#3
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Не совсем понял с форматированием ячеек
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Что именно не понятно? Тебе какие ячейки отформатировать надо? Вот занеси этот интервал в Range... После выполнения Sheet.Range['нужный_тебе_интервал'].Select эти ячейки "выберутся" (как если бы ты выделил их мышью). А потом уже к выделенным ячейкам применяешь нужное форматирование. Я сделал так, чтобы число представлялось в вещественной форме с двумя символами после запятой. Если ты под "форматированием" имел в виду что-то другое - то объясняй что. Но такое, как я показал тебе делать все равно придется - иначе числа переносятся в Excel неправильно, они все на Sheet-е равняются 64, правильно твоим способом переносятся только строки.
|
Atreides |
![]()
Сообщение
#5
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
под "форматированием" подразумевал ширину ячеек
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
А, так тебе надо изменить ширину колонки... Очень похоже на то, что я показывал. Вот так:
Sheet.Range['D:D'].Select; // Выбираешь какой столбец расширить ... Вообще, в MSDN иногда заглядывай. Знаешь сколько возможностей там описано для управления Excel-ем? Только с Range вон чего можно творить: MSDN->Range Collection (VBA) (список свойств, методов и объектов внизу страницы посмотри) |
Atreides |
![]()
Сообщение
#7
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Вопросец такой, а как мне можно первые две колонки выстроить значения по центру ячейки, а суммы по правому краю?
-------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Ну вот возьми, сходи по приведенной ссылке, найди там свойство, которое отвечает за выравнивание, и примени это свойство для первого и второго столбца с одним аргументом, а для третьего - с другим. Сколько можно делать все вместо тебя? Ты ж ничего сам делать не желаешь... А мне в общем-то и не очень это надо.
|
Atreides |
![]()
Сообщение
#9
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
нашел такой код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row:но он посылает меня с Row и Сol. ИМ это я как понимаю, выравнять все по правому краю -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 3:50 |