Всем привет! Я хочу сделать прогу и она должна иметь такие функция как: есть любой сайт но мне надо чтобы моя прога брала определённый кусок и постоянно обновляло его при нажатии на кнопку!
» умельцам Delphi
придется тебе каждый сайт(точнее страницу как я понял) преобразовывать в хтмл при нажатии на каппу куда-то грузить саму страницу и обновлять (читай отображать) преобразованный обратно хтмл в заданном диапазоне.
Нужно воспользоваться HTML-парсерами (www.torry.net), разобрать страницу на составляющие и выбрать только то, что тебе нужно.
Господа, такой маленький вопросик: есть ли в Дельфи (Паскале) функция, которая показывает - хранится в строке числовое значение или нет?
Bad_BoY
Определенный чем кусок?
sailor
Код:
var
R,E: Integer;
begin
Val('бла-бла-бла', R, E);
...
Определенный чем кусок?
sailor
Код:
var
R,E: Integer;
begin
Val('бла-бла-бла', R, E);
...
Проще
Цитата:
Если R -1 значит промахнулись либо строка в натуре равна -1
Цитата:
R := StrToIntDef('бла-бла-бла', -1);
Если R -1 значит промахнулись либо строка в натуре равна -1
Mamay - клево!!! у меня была парочка подобных ситуевин И, надо сказать, решение, как и все гениальное - проще не придумаешь
JeanM
RTFM рулит
а не пробовали, если в строке несколько цифр.. разделенных буквами, че получится?
RTFM рулит
а не пробовали, если в строке несколько цифр.. разделенных буквами, че получится?
-1 получится!
Так про прогу: получи страницу TcpClient'ом,
найди начало того места которое надо выкусить через
Pos, и делай с ним, что хочешь... Работы на два часа...
найди начало того места которое надо выкусить через
Pos, и делай с ним, что хочешь... Работы на два часа...
Немоного меньше возьни с выдиранием интересующего фрагмента будет, если подключишь какую-нибудь библиотечку с регулярными выражениями, благо, что их существует до кучи.
Mamay
Цитата:
[исправлено]
СОри, это про ВАЛ
ПОлучится только первое число до первой буквы.
Еррор будет содержать индекс буквы в строке
Цитата:
-1 получится!
[исправлено]
СОри, это про ВАЛ
ПОлучится только первое число до первой буквы.
Еррор будет содержать индекс буквы в строке
Решение с Val'ом меня устроило (тем более я когда-то знал эту функцию, когда ещё Turbo-Pascal юзал). Следущий маленький вопросик - как считать в дельфи значение клавиши, которая была нажата. Ну аналог readkey есть или нет?
Цитата:
Ну аналог readkey есть или нет?
нет - отсутствует - тут у тебя event-driven applications - но вот если через wm_keydown ???
merlkerry
Благодарю за помощь...
Благодарю за помощь...
Т.к. специальной темы для новичков Delphi на Ру-Борде вроде как пока нет, буду задавать свои вопросики тут. Вот и очередной:
Допустим, у меня проект представляет собой 2 окна. 1-е с некими свойствами (выплывающие списки, едит-тексты и т.п.), 2-е - маленькое окошко, которое вызывается из первого и в котором можно эти свойства (1-го окна) изменить. При нажатии кнопки "назад" у меня срабатывает Form1.Show (где Form1 - форма 1-го окна), а в первом окне создание свойств объектов на форме находится в TForm1.FormShow(..). Я так думал, что при вызове Form1.Show все объекты обновятся... не тут то было. Дело в том, что когда я вызываю второе окошко, первое в это время не закрыто (если его закрывать - Form1.Close, а потом открывать о5 - Form1.Show, то всё путём - свойства обновляются, но мне то надо, чтобы окно №1 не закрывалось!!). Вот такой вот простенький вопросик.
Добавлено
Догадываюсь, что дело скрыто в event'ах.. надо, наверное использовать не OnShow, а что-то другое. Но что?
Допустим, у меня проект представляет собой 2 окна. 1-е с некими свойствами (выплывающие списки, едит-тексты и т.п.), 2-е - маленькое окошко, которое вызывается из первого и в котором можно эти свойства (1-го окна) изменить. При нажатии кнопки "назад" у меня срабатывает Form1.Show (где Form1 - форма 1-го окна), а в первом окне создание свойств объектов на форме находится в TForm1.FormShow(..). Я так думал, что при вызове Form1.Show все объекты обновятся... не тут то было. Дело в том, что когда я вызываю второе окошко, первое в это время не закрыто (если его закрывать - Form1.Close, а потом открывать о5 - Form1.Show, то всё путём - свойства обновляются, но мне то надо, чтобы окно №1 не закрывалось!!). Вот такой вот простенький вопросик.
Добавлено
Догадываюсь, что дело скрыто в event'ах.. надо, наверное использовать не OnShow, а что-то другое. Но что?
Цитата:
Допустим, у меня проект представляет собой 2 окна. 1-е с некими свойствами (выплывающие списки, едит-тексты и т.п.), 2-е - маленькое окошко, которое вызывается из первого и в котором можно эти свойства (1-го окна) изменить. При нажатии кнопки "назад" у меня срабатывает Form1.Show (где Form1 - форма 1-го окна), а в первом окне создание свойств объектов на форме находится в TForm1.FormShow(..). Я так думал, что при вызове Form1.Show все объекты обновятся... не тут то было. Дело в том, что когда я вызываю второе окошко, первое в это время не закрыто (если его закрывать - Form1.Close, а потом открывать о5 - Form1.Show, то всё путём - свойства обновляются, но мне то надо, чтобы окно №1 не закрывалось!!). Вот такой вот простенький вопросик.
Нифига не понял... что не обновляется? Откуда должно обновлятся?
Если ты напишешь в обработке событий второй формы
Form1.Edit1.Text:='blah blah'
то оно само сразу обновится.
Если тебе надо обновлять через FormShow - так и вызывай эту функцию сразу после закрытия второго окна.
(для запуска второго окна юзай Form2.ShowModal)
UncoNNecteD
Цитата:
Так дублируется код... Но я пока так и сделал.
Кстати, а можно как-нибудь автоматически выравнивать элементы на форме, аки в HTML Align=center и т.п.?
Цитата:
Если ты напишешь в обработке событий второй формы
Form1.Edit1.Text:='blah blah'
то оно само сразу обновится.
Так дублируется код... Но я пока так и сделал.
Кстати, а можно как-нибудь автоматически выравнивать элементы на форме, аки в HTML Align=center и т.п.?
Цитата:
Так дублируется код
Вынеси в отлельную функцию и вызывай ее!
Цитата:
Кстати, а можно как-нибудь автоматически выравнивать элементы на форме, аки в HTML Align=center и т.п.?
У каждого (почти) объекта есть свойство align, а у самой формы много чего еще - эксперементируй
Такой вопрос: как обрабатывать исключения? Вроде синтаксис: try (....) exept (....) end;
Где в случае ошибки в первых скобках обрабатываются операторы во вторых скобках? Или не так?
UncoNNecteD
Цитата:
Пробовал.. DOAшные функции внутри моих "невидимы" почему-то....
Цитата:
Этим только и занимаюсь
Где в случае ошибки в первых скобках обрабатываются операторы во вторых скобках? Или не так?
UncoNNecteD
Цитата:
Вынеси в отлельную функцию и вызывай ее!
Пробовал.. DOAшные функции внутри моих "невидимы" почему-то....
Цитата:
эксперементируй
Этим только и занимаюсь
sailor
Цитата:
Выделяешь компоненты какие хочешь выровнять, бьеш мыш по правой почке, и получаешь менюшку в которой выбираешь Position\Allign... - имеешь форму для выравнивания выбранных компонентов!
На будущее - создавай отдельный топик!
Добавлено
Для обработки исключений в Делфи существуют конструкции
try
...
except
...
end;
и
try
...
finally
...
end;
Первая предназначена, восновном, для обработки ошибки.
Вторая - для выполнения некоторых действий, независимо от того произошла ли исключительная ситуация в блоке try.
Цитата:
Кстати, а можно как-нибудь автоматически выравнивать элементы на форме, аки в HTML Align=center и т.п.?
Выделяешь компоненты какие хочешь выровнять, бьеш мыш по правой почке, и получаешь менюшку в которой выбираешь Position\Allign... - имеешь форму для выравнивания выбранных компонентов!
На будущее - создавай отдельный топик!
Добавлено
Для обработки исключений в Делфи существуют конструкции
try
...
except
...
end;
и
try
...
finally
...
end;
Первая предназначена, восновном, для обработки ошибки.
Вторая - для выполнения некоторых действий, независимо от того произошла ли исключительная ситуация в блоке try.
sailor
Цитата:
А как ее создавал?
Как отдельную процедуру, или как метод Объекта (формы)?
P.S. Настоятельно рекомендую прочитать книжку по Delphi. Если нет доступа к книжке, тогда доку и Help. Уж очень ты вопросы легкие задаешь. Ответы на них есть в книжке по языку. Еще пара вопросиков, и отвечать будут RTFM.
Цитата:
Вынеси в отлельную функцию и вызывай ее!
Пробовал.. DOAшные функции внутри моих "невидимы" почему-то....
А как ее создавал?
Как отдельную процедуру, или как метод Объекта (формы)?
P.S. Настоятельно рекомендую прочитать книжку по Delphi. Если нет доступа к книжке, тогда доку и Help. Уж очень ты вопросы легкие задаешь. Ответы на них есть в книжке по языку. Еще пара вопросиков, и отвечать будут RTFM.
[cite]
обновляются, но мне то надо, чтобы окно №1 не закрывалось!!). Вот такой вот простенький вопросик. [/cite]
У каждой формы есть событие OnClose. В параметре события передаётся переменная CloseAction. Ей нуджно присвоить значение caNone.
Для того, чтобы узнать код нажатой клавиши, нужно обрабатывать события формы OnKeyDown и OnKeyUp. Они получают в параметрах значения клавиш.
обновляются, но мне то надо, чтобы окно №1 не закрывалось!!). Вот такой вот простенький вопросик. [/cite]
У каждой формы есть событие OnClose. В параметре события передаётся переменная CloseAction. Ей нуджно присвоить значение caNone.
Для того, чтобы узнать код нажатой клавиши, нужно обрабатывать события формы OnKeyDown и OnKeyUp. Они получают в параметрах значения клавиш.
С помощью какой функции/процедуры можно сделать так, чтобы твоя программа запускала другую?! (Delphi)
Есть такая функция в Win32API - CreateProcess()
A3
или ещё проще
ShellExecute(Self.Handle, 'open', PChar(FileName), nil, nil, SW_SHOWNORMAL);
хотя CreateProcess() гибче
или ещё проще
ShellExecute(Self.Handle, 'open', PChar(FileName), nil, nil, SW_SHOWNORMAL);
хотя CreateProcess() гибче
Спасибо!
Еще вопрос: как узнать путь, откуда твоя программа запускается?
Еще вопрос: как узнать путь, откуда твоя программа запускается?
A3
GetCurrentDir, иногда может помочь Application.Exename
GetCurrentDir, иногда может помочь Application.Exename
vserd
ИМХО это не может помочь только с случае, если нет экземпляра класса TApplication
ИМХО это не может помочь только с случае, если нет экземпляра класса TApplication
sailor
try (...)//если произошло исключение,
except(...)//то выполняем этот код
//Но почему-то не все Exceptions отлавливаются
end;
Про exception'ы неплохо написано в родном дельфовском хелпе
try (...)//если произошло исключение,
except(...)//то выполняем этот код
//Но почему-то не все Exceptions отлавливаются
end;
Про exception'ы неплохо написано в родном дельфовском хелпе
Предыдущая тема: openGL vs. DIRECT3D
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.