Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 430
от 01.04.2006, 04:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 294, Экспертов: 70
В номере:Вопросов: 9, Ответов: 20


Вопрос № 38525: Доброго времени суток! У меня такой вопрос! Как можно сделать так, чтобы в function LoadFromFile можно было указывать интернет адрес такого плана LoadFromFile('http:\localhostlabla.txt'); Заранее спасибо!...
Вопрос № 38540: Здравствуйте Уважаемые Эксперты! Как можно сделать, чтобы при выводе на консоль русские буквы вылядели как буквы, а не как не понятные закорючки? И второй вопрос на старой Винде у меня стояла Delphi 7 и при компиляции пустой формы выдавало e...
Вопрос № 38545: Здравствуйте уважаемые эксперты! У меня следующие вопросы: 1) Как можно узнать какой Request нужен для отправки сообщения на форум методом POST. И где можно почитать инфу про компонент IdHTTP из закладки Indy Clients. 2) Как получит...
Вопрос № 38559: Привет... Вопрос связанный несовсем с кодингом ! Я только, только подсел на Delphi и он мне стал очень нравица ! Как я обнаруживаю что фирма Borland отказываеца от Delphi и продаёт комуто права на продукцию ! Что теперь Delphi выпуска...
Вопрос № 38567: Здравствуйте! Как в Delphi у компонента StringGrid, объединить некоторые ящейки? Например: ----------- | | | ------------ | | | | | -----------...
Вопрос № 38580: Здравствуйте, как в delphi пользоваться фреймами?...
Вопрос № 38587: Здравствуйте уважаемые эксперты. У меня к вам есть вопрос, который мучает меня на протяжении долгого времени. Можно ли задавать имя динамически создаваемой переменной, используя строковую переменную. Например, Trans('Value','Real') - процедур...
Вопрос № 38589: Здравствуйте, Эксперты! Подскажите, как можно из DLL создать компонент на форме пользователя? Приложение моей работы внизу, но при обращении из формы в DLL для создания компонента, выдаёт ошибку: Can not assign TFont to TFont. <...
Вопрос № 38600: Здравствуйте. У меня вопрос по файлам: как на делфи связать два типизированных файла? Связь один-ко-многим. Заранее спасибо....

Вопрос № 38.525
Доброго времени суток! У меня такой вопрос! Как можно сделать так, чтобы в function LoadFromFile можно было указывать интернет адрес такого плана LoadFromFile('http:\localhostlabla.txt'); Заранее спасибо!
Отправлен: 26.03.2006, 03:36
Вопрос задал: Грицай Алексей Юрьевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин Андрей
Здравствуйте, Грицай Алексей Юрьевич!
Ну если есть желание переписывать стандартный компонент - можно, конечно, это сделать, но проще предварительно скачать файл и загрузить его с локальной версии. Подробнее >>
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 26.03.2006, 07:57

Отвечает: Злоумышленник
Здравствуйте, Грицай Алексей Юрьевич!
Вообще-то слэши должны быть прямые: не http:\localhostlabla.txt, а http://localhost/blabla.txt
Ответ отправил: Злоумышленник (статус: 5-ый класс)
Ответ отправлен: 26.03.2006, 16:31

Отвечает: Лучников Ю.В.
Здравствуйте, Грицай Алексей Юрьевич!

Переписывать ничего не нужно;)
Допустим нам нужно загрузить файл www.site.ru/file.txt в компонент TMemo.

Кидаем на форму TMemo с вкладки Standart и компонент TIdHTTP с вкладки Indy Clients.

Теперь пишем одну строчку кода:
Memo1.Text := IdHTTP1.Get('http://www.site.ru/file.txt');

Вот и все;)

Успехов!
Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 26.03.2006, 22:44


Вопрос № 38.540
Здравствуйте Уважаемые Эксперты!
Как можно сделать, чтобы при выводе на консоль русские буквы вылядели как буквы, а не как не понятные закорючки?
И второй вопрос на старой Винде у меня стояла Delphi 7 и при компиляции пустой формы выдавало exe файл 400 с чемто килобайт. На новую, я поставил
сначало Delphi 2006, а потом Delphi 7 и Delphi 7 после компиляции пустой формы стало выдавать exe файл 16 килобайт. Почему так кто знает? Delphi 7
ведь не Delphi for Net, который выдаёт exe файл от 16 килобайт.
Меня беспокоит одно будут ли работать программы написанные на Delphi 7, если они так
мало весят, на Винде где не установленна Дельфя?
Заранее Спасибо.
Отправлен: 26.03.2006, 12:30
Вопрос задал: Шишкин М.А. (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ерёмин Андрей
Здравствуйте, Шишкин М.А.!
Приложения, скомпилированные с Runtime Libraries (RTL) не запустятся на компьютерах, где не установлен Delphi, либо отсутствют RTL-пакеты в каталоге WindowsSystem32. Чтобы отключить эту опцию компиляции, откройте окно Component - Install packages и уберите галочку "Build with runtime packages".
Чтобы избавиться от "закорючек" нужно перед запуском программы запустить любой из русификаторов. Естественно, русификатор должен запускаться в том же сеансе командной строки, что и программа. К сожалению, сейчас русификатора нет под рукой... Но одни из наиболее распространённых - keyrus.com и rk.com.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 26.03.2006, 14:55

Отвечает: Tamashev Denis M
Здравствуйте, Шишкин М.А.!
Насчёт закорючек !
Можно написать преложение которое будет переводить из windows кодировки в DOS кодировку !
Я незнаю поможел ли это но всёже скину код:
На форму киньте 1 - button 2 - TEXTEdit
И вот код Button:

var
s:array [0..255] of char;
begin
CharToOem(PChar(Edit1.Text), s);
Edit2.Text:=s;
end;
Это из Windows кодировки в DOS
а наоборот из DOS в Windows
var
s:array [0..255] of char;
begin
OemToChar(PChar(Edit2.Text), s);
Edit1.Text:=s;

Насчёт 2 незнаю !

Удачи !
Ответ отправил: Tamashev Denis M (статус: 2-ой класс)
Ответ отправлен: 26.03.2006, 15:52

Отвечает: sir henry
Здравствуйте, Шишкин М.А.!
1. У винды и у ДОС (это в винде консоль) разные кодировки. Чтобы консольные приложения у Вас писали нормально русские буквы, пишите исходники в консольном редакторе. Я, например, пользуюсь редактором FARа для написания консольного приложения. Компилируется в командной строке - dcc32 filename.dpr - все очень просто.
2. Видимо в той Дельфи, которая выдает экзешники по 16 кБ, стоит опция, что требуется пакеты, содержащие общие функции Дельфи. Без них на другом компе Ваша программа естественно работать не будет. Смотрите в меню Project - Options... - Packages, уберите галку Build with runtime packages.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 26.03.2006, 16:11

Отвечает: Злоумышленник
Здравствуйте, Шишкин М.А.!
Если не хочешь писать проги в Far'е, можешь воспользоваться API функциями-конверторами кодировок Win -> DOS CharToOem и DOS -> Win OemToChar. Пример использования в приложении.

Приложение:

Ответ отправил: Злоумышленник (статус: 5-ый класс)
Ответ отправлен: 26.03.2006, 16:51

Отвечает: Николай Б.
Здравствуйте, Шишкин М.А.!
1. Код ф-ции для перевода "закорючек" в рус. буквы в приложении.
2. Возможно, в Delphi7 стоит галочка "Buld with runtime packages"(Project->Options->Packages). Если она стоит, то компилируются только указанные модули. Такие приложения НЕ могут работать в системе, где не установлен Delphi. Др. & #1074;ариант - вмести с прогой переписывать все необходимые библиотеки (по-моему, достаточно vcl70.bpl и rtl70.bpl, если исп. компоненты со вкладки Standard)

Приложение:

Ответ отправил: Николай Б. (статус: 3-ий класс)
Ответ отправлен: 27.03.2006, 06:17


Вопрос № 38.545
Здравствуйте уважаемые эксперты! У меня следующие вопросы:

1) Как можно узнать какой Request нужен для отправки сообщения на форум методом POST. И где можно почитать инфу про компонент IdHTTP из закладки Indy Clients.

2) Как получить список всех экспортируемых функций в dll, и узнать какие к ним нужны параметры.
Отправлен: 26.03.2006, 13:47
Вопрос задал: Евгений (jeni) (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Евгений (jeni)!
2. В Visual Studio есть програмка dumpbin.exe. Сообщает много всего интересного об экзешнике и dll'ке.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 26.03.2006, 16:02


Вопрос № 38.559
Привет...
Вопрос связанный несовсем с кодингом !
Я только, только подсел на Delphi и он мне стал очень нравица !
Как я обнаруживаю что фирма Borland отказываеца от Delphi и продаёт комуто права на продукцию !
Что теперь Delphi выпускать небудут ???
И нужно переходить на другой язык программирования ???
Отправлен: 26.03.2006, 16:06
Вопрос задал: Tamashev Denis M (статус: 2-ой класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, Tamashev Denis M!
Я не знаю насчет дальнейших планов компании Inprise и его флагманского проекта Борланд с его продуктами, но пока нет смысла паниковать. Есть смысл выждать. Инпрайс уже не один раз за свою историю "озадачивал" своих потребителей, и, как всегда, шел навстречу. Так что есть смысл подождать. Хотя лично мне уже все равно. Я давно пишу на MS VC++ и катаклизмы с дельфи и билдером меня мало волнуют, если честно, хотя доля ностальгии имеется. Вот такой мой бесполезный ответ.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Ответ отправлен: 26.03.2006, 16:13

Отвечает: sir henry
Здравствуйте, Tamashev Denis M!
Вполне может быть, что фирма, которая купит Дельфи, будет его в дальнейшем разрабатывать. Однако, чтобы ощутить уверенность в завтрашнем дне, переходите на OpenSource. Например GNU C и FreePascal развиваются уже давно (особенно GNU C) и очень успешно. FreePascal (http://www.freepascal.org) - полный аналог Turbo Pascal, но естественно все современные примочки для программирования под винду там есть. Недостаток - отсутствие визуального программирования, достоинство, и очень большое - на порядок меньший, чем у Дельфи, размер откомпилированой программы. Специально для визуального программирования на FreePascal разрабатывается проект Lazarus (http://www.lazarus.freepascal.org). Пока сырой и не все там хорошо работает, но очень много там можно делать так как в Дельфи, т.е. перетаскиванием компонентов с палитры.
Для програмирования консольных приложений, отлично подходит родная IDE FreePascal, а вот для программирования под винду нужно скачать другую оболочку - Dev-Pascal (www.bloodshed.net/devpascal.html) из-за разной кодировки русского языка.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 26.03.2006, 16:29

Отвечает: Ерёмин Андрей
Здравствуйте, Tamashev Denis M!
Слухи о том, что Borland действительно отказывается от дальнейшего развития Delphi не подтверждены. Что не день - то новое мнение. В любом случае, даже если они это сделают, никто не будет мешать всем нам продолжать использовать Delphi. К примеру, многие до сих пор работают на Delphi 5 и не жалуются, при этом есть D6, D7, D8, D9, D2005, Borland Developer Studio 2006. Широкое распространение получила 7-ая версия Delphi. До сих большинство программистов её используют, но при этом этой версии уже 3-4 года, а это какой-никакой показатель технологичности. Так что я рекомендую вообще забыть про это и спокойно жить дальше.
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 26.03.2006, 17:56

Отвечает: Лучников Ю.В.
Здравствуйте, Tamashev Denis M!

Хочу дополнить ответы моих коллег:
Общеизвестный и общепопулярный продукт Total Commander от Кристиана Гислера и по сей день разрабатывается в среде Delphi 2, хотя год ее выпуска далеко не текущий.
Пользователю вашего программного продукта абсолютно всеравно, написан ли он на старенькой Delphi 2 или на современной навороченной Delphi 2006. Так что причин отказываться от среды нет;) Важна не среда разработки - а качество итогового продукта.

Успехов;)
Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 26.03.2006, 22:11

Отвечает: Malysh
Здравствуйте, Tamashev Denis M!
Пока я не слышал заявлений об отказе Borland от Delphi. Просто Delphi сейчас выходит в пакете вместе с С, С# и .т.д.
Ответ отправил: Malysh (статус: Практикант)
Ответ отправлен: 28.03.2006, 03:23


Вопрос № 38.567
Здравствуйте! Как в Delphi у компонента StringGrid, объединить некоторые ящейки?
Например:
-----------
| | |
------------
| | | | |
-----------
Отправлен: 26.03.2006, 17:21
Вопрос задал: Сергей Николаевич (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Ю.В.
Здравствуйте, Сергей Николаевич!

Стандартный компонент TStringGrid подобные возможности не поддерживает.

Выход: использовать компоненты сторонних разработчиков, которые обладают заданными свойствами. Большую коллекцию VCL-компонентов вы можете найти на ресурсе www.torry.net.

Успехов!
Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 26.03.2006, 22:04


Вопрос № 38.580
Здравствуйте, как в delphi пользоваться фреймами?
Отправлен: 26.03.2006, 19:08
Вопрос задал: Сергей Николаевич (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Ю.В.
Здравствуйте, Сергей Николаевич!

В этом вопросе вам поможет маленькая статейка Фреймы в Delphi.

Как говорится коротко и ясно;)

Успехов!
Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 26.03.2006, 21:45


Вопрос № 38.587
Здравствуйте уважаемые эксперты.
У меня к вам есть вопрос, который мучает меня на протяжении долгого времени.
Можно ли задавать имя динамически создаваемой переменной, используя строковую переменную. Например, Trans('Value','Real') - процедура, динамически создающая переменую Value типа Real. Если такое возможно подскажите, пожалуйста, как это сделать.
Заранее благодарю.
Отправлен: 26.03.2006, 20:26
Вопрос задал: Николай (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Лучников Ю.В.
Здравствуйте, Николай!

Такое впринципе невозможно;) Дабы результирующий код в итоге - набор машинных инструкций. А там только одно понятие - адресация. То есть какое то число лежит по такому то адресу.... Механизм переменных был придуман для облегчения разработки ПО. То есть ты запоминаешь не какой то набор цифр (адрес) а вполне логичное имя переменной. Коротко: переменная, это ссылка на весьма определенный адрес в памяти.

Есть что то похожее на вашу мысль - механизм указателей...
Если данный вопрос интересует, создай на эту тему вопрос - наши высокоуважаемые эксперты с радостью тебе ответят;)

Успехов!
Ответ отправил: Лучников Ю.В. (статус: Профессионал)
Россия, Киров
WWW: Чат Кировской молодежи
ICQ: 176308580
----
Ответ отправлен: 26.03.2006, 21:35

Отвечает: sir henry
Здравствуйте, Николай!
Дело в том, что имена использует только программист, а не компьютер. И введены они исключительно для удобства программиста при написании кода. Компилятор, на этапе компиляции, преобразует все имена в адреса, где расположен тот или иной участок памяти.
Я не вижу смысла в такой функции. Если Вы объясните более подробно зачем она нужна, тогда может быть можно будет что-то Вам посоветовать. А то, что Вы хотите - полная бессмыслица.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 27.03.2006, 05:59


Вопрос № 38.589
Здравствуйте, Эксперты!

Подскажите, как можно из DLL создать компонент на форме пользователя?

Приложение моей работы внизу, но при обращении из формы в DLL для создания компонента, выдаёт ошибку: Can not assign TFont to TFont.

Всем, спасибо с оценочкой!

Приложение:

Отправлен: 26.03.2006, 21:27
Вопрос задал: Подболотов Иван Алексеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Подболотов Иван Алексеевич!
Для решения Вашей проблемы можно скомпилировать и приложение, и DLL с Run-time-пакетами (project->options->packages-> поставить галочку Build with runtime packages)
Проблема получилась из-за того, что у приложения и DLL сведения о типах повторяются, и поэтому класс TFont приложения не эквивалентен классу TFont DLL - информация о них лежит в разных местах. При использовании пакетов все это будет находиться в одном месте
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 1-ый класс)
Ответ отправлен: 27.03.2006, 09:43


Вопрос № 38.600
Здравствуйте. У меня вопрос по файлам: как на делфи связать два типизированных файла? Связь один-ко-многим. Заранее спасибо.
Отправлен: 27.03.2006, 03:02
Вопрос задал: BeTepoK_20 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Злоумышленник
Здравствуйте, BeTepoK_20!
Определи, какое поле для элемента записи одного файла будет уникальным "ключевым", а для другого "внешним" ключём. Ну и соответственно при изменении (добавлении, удалении) "первичного" меняй (добавляй, удаляй) "внешние". Но всё же советую велик не изобретать, а воспользоваться ADO, например, и использовать формат таблиц MS Access. Это будет быстрее и без геммороя с сортировками и поиском собственных ошибок, и прога на любых компах работать будет. Успехов.
Ответ отправил: Злоумышленник (статус: 5-ый класс)
Ответ отправлен: 27.03.2006, 18:34


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное