Вопрос № 130687: Здравствуйте, уважаемые эксперты портала. Пишк программу для курсовой - сдавать то пробную версию уже надо и вот проблема.
Задача такая (одна из них) - есть таблица в таблицу так сказать в координаты таблицы Во всю вторую колонку можно вводить ч...Вопрос № 130720: Уважаемые эксперты подскажите, как из программы на Delphi внешним архиватором Winrar.exe заархивировать каталог вместе со всеми его подкаталогами и содержащимися в них файлами...Вопрос № 130775: Уважаемые эксперты, возможно ли работать с 1-й формой? Например у меня есть 10 кнопок,
при нажатии на которые открывается форма на которой загружается картинка и текст. Возможно ли сделать так чтобы не надо было создавать 10 одинаковых форм, а работа...Вопрос № 130794: Доброго времени суток, господа эксперы. Спасите, пожалуйста!!! Необходимо срочно научиться разбирать командную строку на составляющие ее элементы. Пробова использовать библиотеку AllLib, так она не всегда корректно работает на строках, в которых
нет ...Вопрос № 130806: Здравствуйте! Такой вопрос. В библиотеке Turbo Professional есть функция TextPos(f) и процедура TextSeek(f,i). Есть ли в Делфи аналоги или можно ли их как-то заменить? Заранее всем спасибо....
Вопрос № 130.687
Здравствуйте, уважаемые эксперты портала. Пишк программу для курсовой - сдавать то пробную версию уже надо и вот проблема.
Задача такая (одна из них) - есть таблица в таблицу так сказать в координаты таблицы Во всю вторую колонку можно вводить числа причем вот такого характера и в каждую ячейку.
1,2,3,4,5 либо 1,2,3,4,5, ( с заптяой и без нее в конце строки.) При нажатии на кнопку Нужно взять ячейку сложить все числа в ней(1,2,3,4,5) и поместить в 3 столбец этой же строки. у меня огромная проблема как разделить всю строку с цифрами на отдельные цифры и сложить. понимаю что циклом - НО КАК? это вот тут у меня заковыка и получается.
И как распечатать таблицу StringGrid1 - всю но чтобы диалог установки принтера вылез. Диалог вызвал, а печатать то как?
Отвечает: Mishell
Здравствуйте, Колпаков Александр Константинович!
по разбивке строки см. пример
а вызов диалога принтера можно сделать положив на форму компонент TPrinterDialog и вызвать в нужный момент его метод Execute
Приложение:
Ответ отправил: Mishell (статус: 10-ый класс)
Ответ отправлен: 07.04.2008, 09:55
Вопрос № 130.720
Уважаемые эксперты подскажите, как из программы на Delphi внешним архиватором Winrar.exe заархивировать каталог вместе со всеми его подкаталогами и содержащимися в них файлами
Отправлен: 05.04.2008, 20:57
Вопрос задал: Nickstnew (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Coupler
Здравствуйте, Nickstnew!
У Winrar, как у Win, так и у консольной версии (rar.exe) можно задать обширное количество параметров - я думаю, все опции, поддерживаемые win-версией, можно получить с помощью параметров командной строки, которые отлично документированы (смотрите справку winrar или руководство по консольной версии).
Для запуска программы из delphi есть, например, такие функции, как WinExec (устарела), ShellExecute, CreateProcess. Все они уже обсуждались здесь, понадобится, найдете. Пример архивирования папки - в приложении.
Приложение:
Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 06.04.2008, 09:01 Оценка за ответ: 5 Комментарий оценки: Спасибо. Очень помогло
Вопрос № 130.775
Уважаемые эксперты, возможно ли работать с 1-й формой? Например у меня есть 10 кнопок, при нажатии на которые открывается форма на которой загружается картинка и текст. Возможно ли сделать так чтобы не надо было создавать 10 одинаковых форм, а работать с одной?
Если в любой момент времени, на экране может присутствовать только один экземпляр формы, то можно использовать одну, вызывая ее появление(через ShowModal например), только не забываем "очищать" форму от предыдущего вызова.
Эта форма должна быть автосоздаваемой, для этого нажимаем Ctrl+Shift+F11 и на первой же вкладке смотрим, что Ваша форма находиться в левом ListBox'e, по умолчанию так оно и есть.
Если у Вас одновременно на экране могут присутствовать несколько форм, то тут никуда не денешься, придется создавать их все. Вы же не можете пользоваться одним компьютером сразу в нескольких местах.
Для этого убираем форму из автосоздаваемых, прописываем в uses модуль где объявлена форма (например uses UnitMyForm;).
Создать форму можно, примерно так:
Приложение:
Ответ отправил: Louken (статус: Студент)
Ответ отправлен: 06.04.2008, 11:05
Отвечает: Кудинов Антон Павлович
Здравствуйте, Иванов Павел!
Если для каждой формы расчитываются одни и те же контролы, то имеет смысл использовать TTabControl как переключатель источника для информации на его вкладке,
>>> Если разные то TPageControl, в нем индивидуальный подход к контролам на каждой вкладке
Ответ отправил: Кудинов Антон Павлович (статус: 3-ий класс)
Ответ отправлен: 06.04.2008, 19:03
Отвечает: Genia007
Здравствуйте, Иванов Павел!
Да работать с одной формой вполне возможно. Нужно по нажатию кнопки загружать картинки и текст, например из файла, для каждой кнопки своя картинка и текст, к примеру ложим на форму компонент Image и Memo, и пишем:
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile(FileNameText);//где FileNameText имя текстового файла
image1.Picture.LoadFromFile(FileNamePicture);//где FileNamePicture имя файла картинки
end;
Картинки и текстовые файлы ложим в одну папку с прогой.
Ответ отправил: Genia007 (статус: 10-ый класс)
Ответ отправлен: 07.04.2008, 12:18
Вопрос № 130.794
Доброго времени суток, господа эксперы. Спасите, пожалуйста!!! Необходимо срочно научиться разбирать командную строку на составляющие ее элементы. Пробова использовать библиотеку AllLib, так она не всегда корректно работает на строках, в которых нет кавычек и есть пробелы. Что еще использовать - не знаю. Спасите, пожалуйста!!!
Отправлен: 06.04.2008, 13:21
Вопрос задал: Commander (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PavelGM
Здравствуйте, Commander!
Так в командной строке же нельзя использовать незакавыченные строки с пробелами - каждая часть будет считаться отдельным параметром - так что может библиотека работает все-таки как надо по правилам.
А вообще-то в Дельфи с самой первой версии есть такие вещи как
- ParamCount - возвращает количество параметров
- ParamStr(i) - возвращает i-й параметр
Ответ отправил: PavelGM (статус: Студент)
Ответ отправлен: 06.04.2008, 21:06
Вопрос № 130.806
Здравствуйте! Такой вопрос. В библиотеке Turbo Professional есть функция TextPos(f) и процедура TextSeek(f,i). Есть ли в Делфи аналоги или можно ли их как-то заменить? Заранее всем спасибо.
Отправлен: 06.04.2008, 14:37
Вопрос задал: Grayswan (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысенков Антон Анатольевич
Здравствуйте, Grayswan!
Функция AnsiPos ищет подстроку Needle в строке HayStack, возвращая позицию первого вхождения.
Все Ansi команды поддерживают многобайтовые символы и символы с диакритическим знаком.
Если строка не найдена, то возвращается 0.
Поиск чувствителен к регистру.
В 7-й версии Delphi в составе модуля StrUtils присутствует также функция PosEx.
function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;
Функция PosEx возвращает вхождение строки SubStr в строке S, поиск начинается с символа Offset. Если Offset равен 1 ( как по умолчанию), PosEx эквивалентно Pos.
PosEx возвращает 0 если:
SubStr не найдена в S
Offset больше длины строки S
Offset меньше 1
Ответ отправил: Лысенков Антон Анатольевич (статус: Студент)
Ответ отправлен: 06.04.2008, 16:34 Оценка за ответ: 2 Комментарий оценки: Спасибо большое, но немного не то. У меня в программе эти функции работали в связке, т.е. есть большой текстовый файл f. Функция m:=TextPos(f), где m - longint, запоминает положение в нем, а TextSeek(f,m) - переводит в это положение и чтение из текстового файла начинается оттуда. Объяснил как смог. Еще раз спасибо.