Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет: Образование, Работа и Бизнес" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Декабрь 2005 → | ||||||
1
|
2
|
3
|
4
|
|||
---|---|---|---|---|---|---|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
18
|
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
31
|
Статистика
-1 за неделю
Программирование на Delphi (выпуск 37)
Программирование на DELPHI |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Выпуск #37 (17 декабря 2005 г.) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Примечание: Под форматированием текста понимается возможность оформлять ответы с использованием html-тегов. Если Вы хотите, чтобы Вашего имени (ника) не было в данной таблице, отправьте письмо по этой ссылке с зарегистрированного у нас адреса. В теле письма, пожалуйста, укажите причину удаления имени из таблицы. Нам важно ваше мнение. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Задать вопрос в рассылку | Задать вопрос с помощью web-формы | Система "Эксперт" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вопрос #200 (автор вопроса: KremenetskiyYY; вопрос отправлен: 29.11.2005 17:04): Есть вот такой код... Вопрос #201 (автор вопроса: Антон Трапезников; вопрос отправлен: 30.11.2005 13:45): Здравствуйте, уважаемые программисты. Никто не решал следующую проблемму - каким образом я могу задать цвет и стиль (например, flat) у всех компонентов на форме? [Ответить на вопрос] Вопрос #202 (автор вопроса: Olaf; вопрос отправлен: 08.12.2005 01:58): Подскажите, пожалуйста, как мне сделать, чтобы при добавлении одинаковых (повторяющихся) данных в таблицу (строку) выскакивало сообщение: "такие данные уже существуют"? [Ответить на вопрос] Вопрос #203 (автор вопроса: Olaf; вопрос отправлен: 08.12.2005 03:26): Не могу никак сообразить. Подскажите, как запретить повторный запуск формы? У меня есть главная форма, а в ней дочерние. И из главного меню главной формы загружаю дочерние. Но проблема в том, сколько нажимаешь кнопку открытия дочерней формы, столько форм (повторяющихся) и выскакивает. Спасибо. [Ответить на вопрос] Вопрос #204 (автор вопроса: resident; вопрос отправлен: 09.12.2005 10:08): Здравствуйте. Когда я на форму ставлю WebWrowser и указываю ему страницу, то обычный HTML работает отлично, а когда доходит до выполнения JavaScript, то не работает и выдаёт ошибку. Подскажите, что делать для JAVA. Спасибо. [Ответить на вопрос] Вопрос #205 (автор вопроса: Vitek; вопрос отправлен: 10.12.2005 21:05): У меня такой вопрос: как можно написать DLL для нормального чтения mov и avi в кодировке DivX(Xvid), mpeg4, ну и др. какие-нибудь? Или есть какие компоненты? Использую MediaPlayer из Delphi7. Просто когда открываю такой файл, то нет звука, чёрный экран, или изображение идёт по ключевым фреймам. [Ответить на вопрос] Вопрос #206 (автор вопроса: Artem; вопрос отправлен: 14.12.2005 00:20): Как работать с USB в Delphi? Нужно программно на флэшку записать инфу, но не обязательно файл. Типа как на диск я могу записать на любой цилиндр на любую дорожку, а здесь как? [Ответить на вопрос] Вопрос #207 (автор вопроса: Alex; вопрос отправлен: 15.12.2005 23:43): Подскажите, пожалуйста! Есть программа, которая не использует никаких модулей, кроме windows. Как можно узнать имя файла запущеной программы, не используя Application.ExeName? [Ответить на вопрос] Вопрос #208 (автор вопроса: Alex; вопрос отправлен: 15.12.2005 23:58): Как можно в файл ресурсов запихнуть какие либо-файлы (не картинки)? Мне надо, чтобы вся программа занимала 1 файл, но при запуске она копировала из своего тела другие файлы на компьютер! Что делать? [Ответить на вопрос]
Вопрос #90 (автор вопроса: Nanny_Jagg; вопрос отправлен: 17.03.2005 07:56): Как в DBGrid из библиотеки Ehlib 3.6 добавить Lookup-поле, чтобы оно действительно работало? Поле вроде сделано, но ключевое поле, оставленное рядом для контрола не меняется, по какому событию обработчик писать? [Ответить на вопрос] Вопрос #176 (автор вопроса: Тимур; вопрос отправлен: 12.10.2005 13:58): Нужно программно узнать температуру процессора. Мать Abit NF7-S (или любая другая) с микросхемой мониторинга Winbond W83627HF. [Ответить на вопрос] Вопрос #181 (автор вопроса: pena; вопрос отправлен: 24.10.2005 14:52): Как взять из Word картинку и вставить в мою базу данных? [Ответить на вопрос] Вопрос #197 (автор вопроса: EvGeny; вопрос отправлен: 14.11.2005 01:39): Я новичок в программировании. Как можно в Delphi на OpenGL загрузить .x файл? P.S. Просто этот файл удобен тем, что его можно открыть обычным текстовым блокнотом и просмотреть его структуру. А я очень хочу понять принцип - как загружать файлы 3D сцен в Delphi (как осуществлять перехот от одной координаты в другую, записанную в файле 3D модели, как отличать один объект от другого и т.д.) Буду очень благодарен за исходник с подробными объяснениями. Спасибо заранее! [Ответить на вопрос]
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вопрос #190: 1. [Отвечает: Матвеев И.В., 28.11.2005 14:15]: По-видимому, определить положение каретки стандартными методами невозможно (я имею вввиду без прямого обращения к драйверам и к приводу непосредственно). Но Вы можете просто проверить готовность диска: function IsDriveReady(DriveLetter: Сhar): Bool; Надеюсь этот вариант Вам подойдет. Оценка за ответ: 5. 2. [Отвечает: midav.land.ru, 29.11.2005 11:22]: Вот есть кусочек кода: uses mmsystem; Правда на пустой и закрытый (одновремено) он говорит "OPEN", но мне кажеться нужно копать в эту сторону - искать описания mci команд. Оценка за ответ: 5.
Вопрос #191: 1. [Отвечает: Антон Трапезников, 29.11.2005 08:27]: Здравствуйте, Саша. Попробую Вам помочь... Систему линейных уравнений, решаем методом Гаусса с частичным выбором ведущего элемента. При решении полученной системы уравнений возможны два случая - система вырождена и нам придется поделить на ноль в ходе решения, или система невырождена. Если система невырождена, то существует одно и только одно решение. Если же система вырождена, то данный алгоритм неприменим. В случае вырожденой матрицы функция возвращает False. Если матрица невырождена, то функция возвращает True, а переменная Y содержит решение системы. Для сравнения с нолем в алгоритм передается малое число epsilon, и любое число, по модулю меньшее epsilon, считается нолем. Для начала скачайте и подключите библиотеку AP: http://alglib.sources.ru/translator/aplib.zip. А дальше так: (************************************************Этот модуль сгенерирован транслятором AlgoPascal. ************************************************) uses Math, Ap; (* Эти подпрограммы должен определить программист: function F(X : Double):Double; function K(X : Double; S : Double):Double; *) function SolveFredholm2(A : Double; B : Double; N : Integer; var Y : TReal1DArray; Epsilon : Double):Boolean;forward; (************************************************************************* Процедура решает интегральное уравнение Фредгольма второго рода, заданное ядром интегрирования K(X,S) и правой частью F(X), на отрезке [A, B]. Результат помещается в массив Y с номерами элементов от 1 до N, где 1 соответствует A, N соответсвует B. Epsilon - малое число, передаваемое для сравнения с нолем в ходе решения получаемой системы уравнений. *************************************************************************) function SolveFredholm2(A : Double; B : Double; N : Integer; var Y : TReal1DArray; Epsilon : Double):Boolean; var h : Double; t : Double; m1 : Double; x : Double; SMat : TReal2DArray; i : Integer; j : Integer; u : Integer; k1 : Integer; m : Integer; begin SetLength(SMat, N+1, N+1+1); SetLength(Y, N+1); h := (b-a)/(n-1); i := 1; repeat x := a+(i-1)*h; SMat[i,n+1] := F(x); j := 1; repeat SMat[i,j] := -h*K(x, a+(j-1)*h); if (j=1) or (j=n) then begin SMat[i,j] := SMat[i,j]/2; end; if j=i then begin SMat[i,j] := 1+SMat[i,j]; end; j := j+1; until not (j<=n); i := i+1; until not (i<=n); SetLength(Y, N+1); Result := True; i:=1; while i<=n do begin k1 := i; m1 := AbsReal(SMat[i,i]); j:=i+1; while j<=n do begin if m1 m1 := AbsReal(SMat[j,i]); k1 := j; end; Inc(j); end; if AbsReal(m1)>=Epsilon then begin j:=i; while j<=n+1 do begin t := SMat[i,j]; SMat[i,j] := SMat[k1,j]; SMat[k1,j] := t; Inc(j); end; k1:=i+1; while k1<=n do begin t := SMat[k1,i]/SMat[i,i]; SMat[k1,i] := 0; j:=i+1; while j<=n+1 do begin SMat[k1,j] := SMat[k1,j]-t*SMat[i,j]; Inc(j); end; Inc(k1); end; end else begin Result := False; Break; end; Inc(i); end; if Result then begin i := n; repeat y[i] := SMat[i,n+1]; j := i+1; while j<=n do begin y[i] := y[i]-SMat[i,j]*y[j]; j := j+1; end; y[i] := y[i]/SMat[i,i]; i := i-1; until not (i>=1); end; end; Оценка за ответ: 5. Вопрос #192: 1. [Отвечает: Антон Трапезников, 28.11.2005 08:21]: Все дело в том, что "10-20 файлов этой программы" не нужно распространять вместе с готовым откомпилированным файлом, т.к. это исходные тексты вашего проекта. Оценка за ответ: 5. 2. [Отвечает: PVS, 28.11.2005 10:39]: Вообще-то в большинстве случаев достаточно одного .exe файла, если, конечно, речь не идет о файлах с какими-то данными или о вспомогательных библиотеках (*.dcu, *.pas, *.dpr, *.dfm и другая гадость нужны только для разработки - пользователям ставить их не надо, а иногда и вредно :-) Оценка за ответ: 5. 3. [Отвечает: Вадим Фурив, 28.11.2005 11:14]: Вообще, все файлы, которые создает Дельфи при программировании - это рабочие файлы. Расширение .pas это сам текст программы, .dfm - описание свойств формы, .ddp - диаграмма (которую я например не использую), .dcu - откомпилированный модуль по-моему. Эти все файлы нужны для разработки программы. По умолчанию, если Вы не создаете .dll, то при компиляции программы создается файл .exe. Он-то Вам и нужен для работы. Смело переписывайте пользователю и запускайте. Правда при запуске программы, которая скажем использует ADO на компьютере с Win95, она может не работать, и тогда придется или создавать инсталяционный пакет или инсталировать компоненты DCOM вручную. Оценка за ответ: 5. 4. [Отвечает: Матвеев И.В., 28.11.2005 13:06]: Дело в том, что эти 10-20 файлов - это файлы проекта, т.е. исходные тексты программ (*.pas, *.dpr, *.dfm), файлы ресурсов (*.res), настройки компилятору (*.cfg) и так далее. Вы можете просто скопировать *.exe файл и использовать его как готовую программу. Или это можно сделать в опциях проекта на странице "Каталоги". Смотрите также полное описание типов файлов Delphi. *.DPR-файлы .dpr-файл является центральным файлом delphi-проекта. Для программы он является первой точкой входа. dpr содержит ссылки на другие файлы проекта и связывает формы с соответствующими модулями. Данный файл нужно редактировать с предельной осторожностью, так как неумелые действия могут привести к тому, что вы не сможете загрузить ваш проект. Этот файл является критическим при загрузке и перемещении (копировании) проекта. *.PAS-файлы Это стандартный текстовый файл, который можно редактировать в текстовом редакторе. Данный файл нужно редактировать с некоторой долей осторожности, поскольку это может закончиться потерей некоторых преимуществ двух других инструментов. К примеру, добавление кода для кнопки с декларацией типа никак не отразится на соответствующем .dfm-файле формы. Все pas-файлы являются критическими при пересборке проекта. *.DFM-файлы Данный файл содержит описание объектов, расположенных на форме. Содержимое файла можно увидеть в виде текста, вызвав правой кнопкой мыши контекстное меню и выбрав пункт "view as text", или же с помощью конвертора convert.exe (расположенного в каталоге bin), также позволяющего перевести файл в текстовый вид и обратно. Данный файл нужно редактировать очень осторожно, поскольку это может закончиться тем, что IDE не сможет загрузить форму. Этот файл является критическим при перемещении и пересборке проекта. *.DCU-файлы Это бинарные файлы, которые содержат в себе компилированный код, когда Delphi создает exe файл (или dll или другой) сперва весь код компилируется в DCU файлы, а затем из этих файлов выделяется используемый код и помещается в итоговый пакет. С помощью DCU файлов можно распростанять свои компоненты без исходных текстов (по DCU файлав восстановить PAS файл невозможно), только нужно иметь ввиду, что в разных версиях Delphi используются несовместимые форматы DCU файлов. *.DOF-файлы Данный текстовый файл содержит текущие установки для опций проекта, как например, настройки компилятора и компоновщика, каталоги, условные директивы и параметры командной строки. Данные установки могут быть изменены пользователем путем изменений настроек проекта. *.DPK-файлы Данный файл содержит исходный код пакета (аналогично .DPR-файлу стандартного проекта Delphi). Подобно файлу .DPR, .DPK-файл также является простым текстовым файлом, который можно редактировать в стандартном редакторе. Одной из причин, по которой вы можете это сделать - использование компилятора командной строки. *.RES-файлы Это стандартный двоичный windows-формата файл ресурсов, включающий в себя информацию о приложении. По умолчанию, Delphi создает новый .RES-файл при каждой компиляции проекта в исполняемое приложение. Оценка за ответ: 5. 5. [Отвечает: Акишин Андрей Владимирович, 28.11.2005 13:52]: Надо просто скомпилировать программу, нажми <Ctrl+F9>, или "Project => Compile". Оценка за ответ: 4. 6. [Отвечает: Ершов Денис, 29.11.2005 07:03]: Используй ресурсы. Подробнейшая статья по их использованию: http://decoding.narod.ru/practic/resource/resource.html Оценка за ответ: 4. 7. [Отвечает: Alex, 29.11.2005 21:08]: Сама прога и состоит из 1 ЕХЕ файла. Т.е смело копируй на дискету ЕГО и она пойдёт!!! 10-20 файлов – это код программы, который и компилируется. Оценка за ответ: 4. 8. [Отвечает: Dron, 30.11.2005 07:02]: Всё обстоит иначе. Файлы, которые вы видите - это файлы разработки программы (исходники). Среди них: *.dpr - файлы проектов, *.dfm - файлы описания форм, *.pas - модули, *.res - ресурсные файлы и др. Если вы запустите программу из Delphi (F9), то она скомпилируется в единый exe-файл, который вам и нужен. Тащить за собой исходники не нужно. Но и удалять их не стоит, а то не сможете изменить программу или продолжить её разработку. Оценка за ответ: 5. 9. [Отвечает: Антон, 02.12.2005 10:21]: При компиляции Дельфи-проекта действительно получается несколько файлов. Однако для работы Вашей программы достаточно одного .exe файла. Остальные относятся к исходникам и их необязательно передавать конечному пользователю. Оценка за ответ: 5. 10. [Отвечает: Ares, 02.12.2005 13:13]: Я так понимаю, что у тебя получаются файлы dfm, dcu, pas, cfg, dof, dpr, res, ddp - это всё файлы проекта и для запуска программы они не нужны, - вполне достаточно exe ну и может dll если есть. Ну и небольшой ликбез по основным файлам проекта: Это основные файлы, их набор может быть разным в зависисмости от того, что ты хочешь получить на выходе (обычный исполняемый файл, динамически-подгружаемая библиотека, package и т.д.) Оценка за ответ: 5. 11. [Отвечает: Zeon, 06.12.2005 01:03]: После компиляции программы у тебя и так получается один пусковой exe файл. Остальное - исходный код программы, который для работы приложения не нужен. Если ты конечно не используешь информацию с каких-либо внешних файлов(музыку, видео, картинки, базы данных...), однако и многое из них при желании можно впихнуть в exe-шник. Оценка за ответ: 5. Вопрос #193: 1. [Отвечает: Антон Трапезников, 28.11.2005 08:29]: Создание инсталляционного скрипта целесообразно только если выша программа нуждается в чем-то, что не входит в систему штатно, например, BDE. Если же вы не используете таких технологий, то инсталятор вам не нужен :) Необходимо только учесть, что заранее неизвестно из какой папки пользователь будет запускать ваше приложение, т.е. функции вида: .LoadFromFile('sample.txt'); лучше заменить на: .LoadFromFile(GetCurrentDir+'\sample.txt'); Оценка за ответ: 5. 2. [Отвечает: PVS, 28.11.2005 10:43]: Инсталяция предназначена для инициализации каких-то данных (например в реестре), а также чтобы при деинсталяции убрать за собой веь мусор. Если программа не нуждается в таких действиях (или их проще сделать один раз руками) - она может жить без инсталляции (просто запускатся). Оценка за ответ: 5. 3. [Отвечает: Вадим Фурив, 28.11.2005 11:17]: Если Вы создаете простую программу, не использующую какие-то особые компоненты Windows, то намного разумней будет просто переписывать EXE-файлы пользователю и запускать их там (если программа пишется под конкретного пользователя). Если используются скажем компонетны ADO и Вы не уверены на какой версии Windows будет использоваться программа, то лучше создать инсталяционный пакет. Использовать можно программу InstallShield. Не знаю какая из версию последняя, но это не очень важно. Оценка за ответ: 5. 4. [Отвечает: midav.land.ru, 28.11.2005 12:31]: Для того, чтобы программа инсталировалась, необходимо сделать инсталятор. Есть автоматические, например мне нравиться и я пользуюсь NSIS (качать http://nsis.sf.net, редактор http://nsis.sourceforge.net/Main_Page) Всё делается на скриптах, есть автоматическая генерация шаблона (в редакторе), которая потом напильничком поттирается до идеала. Можно также сделать ручной инсталятор, то-есть написать всё ручками. Это лучше делать для спецефических прог. Использовать ли инсталятор? Если твоя прога маленькая, ничего особого настраивать не нужно, то зачем пользователю качать лишние метры? А вот если нужно копировать кучку файлов по папкам и прописать кучу настроек - тогда инсталятор. Есть ещё один неплохой инсталятор - WinRar. Если поставить галочку SFX, то появляется возможность указать куда распаковывать и как. Оценка за ответ: 5. 5. [Отвечает: Акишин Андрей Владимирович, 28.11.2005 14:01]: Можно воспользоваться инсталлятором. Если у Вас в программе используются *.dll или другие файлы, которые необходимо регистрировать в системе пользователя (например, если Вы написали программу по управления БД использующую BDE или собственный алгоритм), то их необходимо инсталлировать. Оценка за ответ: 5. 6. [Отвечает: Матвеев И.В., 29.11.2005 03:31]: Создания инсталляционного пакета - это отдельная задача для программиста и задача довольно сложная. Прежде всего, для этого используется специальное программное обеспечение - вместе с Delphi распространяется InstallShield, но это не единственный вариант, есть еще WiseInstaller и др. Устанавливать или нет? - если программа простая, состоит из одного-двух файлов, не содержит драйверов, расширений оболочки и подобного - лучше не нужно, это только займет лишнее всемя у Вас и у пользователя. Некоторые хорошие создатели инсталяшек: Оценка за ответ: 5. 7. [Отвечает: Лучников А.И., 29.11.2005 09:58]: Смотря что нужно. Можно сделать инсталяцию с помощью InstallShield. Можно написать свою. А вот если надо защитить программу, то стоит попробовать API-шные функции. Как самый простой вариант - GetVolumeInformation. Пример использования последней (возвращает серийный номер тома): function GVD(DriveChar: Char): DWord; Оценка за ответ: 5. 8. [Отвечает: Alex, 29.11.2005 21:44]: Инсталлировать прогу нужно для того, чтобы прописать какие-либо файлы в реестр, изменить настройки винды, настроить приложение. А если прога простая типа калькулятора, то её можно разве что прописать в меню ПУСК - Программы, НО Надо ли. Оценка за ответ: 3. 9. [Отвечает: Dron, 30.11.2005 07:05]: Это зависит от разных потребностей. Если ваша программа состоит из одного exe-файла, то вряд ли ей нужен инсталлятор и вы можете прописать все действия, которые должны выполняться при первом запуске в OnCreate() главной формы. Если же ваша программа использует какие-то DLL и её необходимо регистрировать в системе (сервисы, автозагрузка, реестр), то здесь инсталлятор лучше создать. К тому же, автоматически создастся и программа для деинсталляции (удаления), что тоже очень важно. Существует большое количество программ для разработки инсталлятором. Я лишь от себя скажу, что использую InnoSetup (http://www.jrsoftware.org) и вполне им доволен. Оценка за ответ: 5. 10. [Отвечает: Антон, 02.12.2005 10:34]: Для того чтобы Ваша программа инсталлировалась с иконки - нужно написать инсталлятор и присвоить ему соответствующую иконку. Инсталятор - это тоже программа, по сути, ничем не отличающаяся от той, которую Вы хотите проинсталлировать. Просто целью исталлятора является установка на компьютер другой программы, т.е. автоматическое прописывание в реестре нужных параметров, копирование файлов и пр. Теоретически это может сделать и пользователь - вручную. Если Ваша программа состоит из 1-5 файлов и не требует прописки в реестре, файлах win.ini, sytem.ini, то делать для нее инсталятор бессмысленно. Надеюсь, что я вообще правильно понял Ваш вопрос.... Оценка за ответ: 5. 11. [Отвечает: Ares, 02.12.2005 13:25]: Во-первых, зделать инсталляционный пакет можно с помощью таких программ как InstallShield или Wise (яндекс тебе в помощь :)) Во-вторых, надо ли? Однозначно надо когда для нормального функционирования программы необходимо наличие каких-либо специфических ключей в реестре, когда нужно предварительно установить ещё что-либо (BDE, какую-либо СУБД и т.п.)когда какие-либо настройки нужно сделать до первого запуска программы, или например просто нужно туеву хучу файлов проекта распихать по разным папкам (Program Files\CommonFiles, Windows\System32, в профиль пользователя и т.д.)... А если программа состоит из одной экзехи и пары-тройки dll`ок, то смысла по-моему нет... ну разве что ярлычки раскидать по менюшкам или открыть сайт проекта.... Оценка за ответ: 5. 12. [Отвечает: dasha ermakova, 05.12.2005 14:16]: Программу нужно инсталлировать, если в ней очень много файлов, и все их нужно разместить по определенным папкам, чтобы пользователь не мучался, а только выбрал, куда установить. Подробнее о создании инсталляции с помощью программы InstallShield Express см. в прилагаемом файле. Картинок нет по той причине, что не помещались в 250 Кб, но объяснения на мой взгляд достаточно подробные. Загрузить прикреплённый файл >> Оценка за ответ: 5. 13. [Отвечает: Zeon, 06.12.2005 01:13]: Для создания инсталляторов существует множество разных программ. Например неплохая программа - NetScat Installer Pro(http://www.netscat-online.tk/). Лично мне нравится. А само создание таких инсталляторов - это дело вкуса. Я, например, не люблю такого. Инсталляторы, как правило, используют тогда, когда в месте с программой нужно записать в систему какие-то дополнительный файлы или внести изменения в реестр. Оценка за ответ: 5. Вопрос #194: 1. [Отвечает: Матвеев И.В., 28.11.2005 13:44]: Это опять вопрос про редакторы. Дело в том, что в Delphi, мне по крайней мере, не встречалось нормальных компонентов - редакторов вроде RichEdit, чтобы можно было удобно расширять возможноси и переделывать под себя. Теперь конкретно по вопросу. Если Вам нужно только показать текст, но не редактировать его - Вы можете использовать TRichView (www.trichview.com), но прийдется вручную все обрабатывать. Вот еще подобные компоненты: Вы можете найти их на www.torry.net. Оценка за ответ: 4. 2. [Отвечает: dasha ermakova, 05.12.2005 16:43]: Чтобы изменить параметры шрифта в RichEdit, нужно выделить текст (параметры SelStart,SelLength) и в SelAttributes установить нужные параметры. В приведенном примере находится и выделяется красным цветом слово "программа" во всем тексте. procedure TForm1.Button1Click(Sender: TObject); Ссоздание гиперссылок RichEdit не поддерживает, надо делать вручную. То есть искать нужный текст, находить его координаты на форме, проверять, соответствуют ли им координаты курсора, если да, можно поменять его форму и обрабатывать щелчок мышки. А можно скачать специальный компонент, в котором это все реализовано. Например, такой http://www.filebox.ru/download/1241. Там можно вставлять гиперссылки, картинки, менять текст, вставлять таблицы, в общем на любой вкус :) Оценка за ответ: 5. Вопрос #195: 1. [Отвечает: midav.land.ru, 28.11.2005 12:55]: Написать свою процедуру сортировки. И отсортировать по новому. Посмотри сюда, здесь подобная проблема решается для украинского: http://www.delphiworld.narod.ru/base/sort_ukr.html Оценка за ответ: 5. 2. [Отвечает: Матвеев И.В., 29.11.2005 03:34]: Вам нужно реализовать заново метод сортировки. Самый простой вариант - метод "Пузырька", работает медленно (сложность вычислений максимум O(n^2), т.е. квадратичная зависимость от числа элементов), но этот метод прост и пригоден в большинстве случаев. И стандартный метод Sort тоже на нем основан. Самое главное, нужно реализовать свою функцию сравнения строк - аналог CompareString, только для соответствующих условий. Я не совсем разобрался с Кригизскими кодировками, поэтому возможно что-то перепутал в порядке сортировки, но Вы можете сами изменить порядок. Весь проект в приложении к письму. Загрузить прикреплённый файл >> Судя по тому, что у Вас в списке несколько тысяч слов - процесс сортировки займет значительное время, поэтому я добавил CallBack функцию в функцию сортировки - она будет вызываться каждые 3 процента (процент Вы можете изменить). Вот главные методы: type TPercentProc = procedure (Percent: Integer); var const // Здесь описываете нужный Вам порядок символов /////////////// // Инициализация алфавита для сравнения // -1 = "<", 0 = "=", 1 = ">" // Сортировка методом пузырька Желаю удачи. Оценка за ответ: 5. 3. [Отвечает: dasha ermakova, 05.12.2005 18:30]: Сортировать придется вручную. Предлагаю такой вариант. var implementation {$R *.dfm} function FindAr(num: char): integer; procedure TForm1.Button1Click(Sender: TObject); for j:=i+1 to ListBox1.Items.Count-1 do if si<>sj then Оценка за ответ: 5. Вопрос #196: 1. [Отвечает: midav.land.ru, 28.11.2005 12:55]: Есть, написали - читайте здесь http://www.delphiworld.narod.ru/base/sscanf_in_delphi.html Оценка за ответ: 5. 2. [Отвечает: Матвеев И.В., 29.11.2005 04:10]: Вот. Источник - DelphiWorld 6 (www.delphiworld.narod.ru). Оценка за ответ: 5. 3. [Отвечает: Лучников А.И., 29.11.2005 10:03]: Могу посоветовать засунуть ее в DLL (на C) - далее использовать в Delphi как любую другую функцию, вызываемую из DLL (насчет наличия в Delphi - не отвечу). Оценка за ответ: 4. Вопрос #198: 1. [Отвечает: midav.land.ru, 28.11.2005 12:59]: Да, с датами и я намучился. Их нужно оформлять в таком виде: #11/5/2005#. Вот готовая функия: function SQL_Date(Date: TDateTime): string; Оценка за ответ: 5. Вопрос #199: procedure Timer1.Timer(...); Но это работает только с аудио файлами. 1. [Отвечает: Матвеев И.В., 29.11.2005 04:24]: У Вас не установленны какие-то видео кодеки для использеумого Вами видео формата. Ваш метод у меня прекрастно работает и с DIV3 и с ASF и с WMV форматами, а также с wav и mp3. Оценка за ответ: 4. 2. [Отвечает: Zeon, 06.12.2005 01:17]: unit Unit1; interface uses Type var implementation {$R *.dfm} procedure TForm1.ReadAviInfo(FileName: String); // Для позмционирования в AVI файле // Временные переменные //Выходные данные LengthInSec: Double; // Грубая проверка на подлинность файла // Размер файла // Размер хедера (needed To locate the audio part) // старт хедера (needed To locate the video part) // Милисекунды (1000000 / TempMicrosec = fps) // Размер во фреймах // Ширина // Высота FileSeek(iFileHandle,Aviheaderstart + Aviheadersize + 4,0); Vheaderstart := Aviheaderstart + Aviheadersize + 20; // кодек Aheaderstart := Vheaderstart + Vheadersize + 8; FileSeek(iFileHandle,Aheaderstart - 4,0); // Audio codec // Audio каналы (1 = mono, 2 = stereo) // Audio samplerate // Audio bitrate // закрываем файл // анализируем видео кодек (можно добавить больше) // тоже с аудио Case (Trunc(TempAbitrate / 1024 * 8)) of // тут некоторые вычисления // Выводим инфу в мемо procedure TForm1.Button1Click(Sender: TObject); end. Автор: Rouse_ . Оценка за ответ: 5. Все вопросы и ответы на них Вы всегда можете найти на нашем сайте в разделе "Эксперт": http://www.delphi.int.ru/modules.php?name=expert. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Новых статей нет. Раздел "Статьи" на сайте скоро будет переработан. Присылайте свои статьи по адресу info@delphi.int.ru с темой 'Articles' (без кавычек), и они будут опубликованы в ближайших выпусках рассылки и на сайте. Также вы можете заполнить вот эту форму. Большая просьба: статью оформляйте в -txt или -doc формате и используйте -zip или -rar сжатие (без самораспаковки). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Из данного раздела Вы можете скачать различные файлы: компоненты, plug-in'ы для Delphi, документацию по программированию, программы, игры, написанные на Delphi и всё остальное... Вы можете добавить свои файлы в данный раздел. Чтобы сделать это, пожалуйста, заполните форму на сайте. Новые файлы на сайте:
Чтобы перейти к разделу "Файловый архив" на сайте, нажмите на эту ссылку. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Здесь представлены ссылки на дружественные сайты нашего портала. Если вы тоже хотите стать нашим другом, разместите наш баннер на своём сайте. Подробнее о том, как это сделать, можно прочитать на странице данного раздела на нашем сайте. Узнать о всех наших друзьях более подробно вы сможете на той же странице... http://www.excode.ru/ - Статьи, исходники, компоненты, книги, кодерский магазин. http://xskernel.narod.ru/ - XSystem Kernel Project. Сайт, посвящённый написанию операционной системы. Новости, информация об XSystem Kernel Team, документация, глоссарий, исходники системы. Open Source - наше направление. http://tpascal.h15.ru/ - Сайт Злобина Евгения Сергеевича "ВСЁ О ПАСКАЛЕ". Здесь найдётся всё: исходники, программы, документация, алгоритмы, олимпиада, конкурсы, форум, уроки и многое, многое другое!!! Вступайте в сообщество ПаскALL. Сайт постоянно обновляется и развивается!!! http://www.hkdsoft.narod.ru/ - H.K.D. Soft - Программирование на Delphi, C/C++, Assembler, Pascal, Basic/VB/VBA/VBS. Компоненты, статьи, исходники, множество е-книг, форум. Бесплатный софт. Скачать программу GamesBase - базу данных по играм содержащую описания, скриншоты, коды, прохождения игр. http://infomania2004.webhost.ru/ - Этот сайт создан для того, чтобы вы могли получить интересующую вас информацию с минимальными затратами сил и времени. Если вы не нашли здесь нужной информации, вы можете оставить заявку на ее поиск. Как только информация будет найдена, она появится на сайте, а вам сообщат об этом. http://www.visualbasic.noka.ru/ - Программирование на Visual Basic & Basic. На сайте Вы найдете множество примеров, статьи, исходники, ActiveX, а также многое другое! http://www.sashook.hut1.ru/ - Игры, коллекция флешек, обои и заставки, компьютерные приколы, картинки, тосты и алкогольные присказки, смешные истории и анекдоты. http://www.ssgroup.fatal.ru/ - Delphi 39. Ресурс для программистов. Статьи, исходники, компоненты, учебники, справочники, FAQ, программы и многое другое. Дружественные рассылки: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Первый урок английского. :)) Если вас отовсюду гонят в три шеи, значит, вы - Змей Горыныч! :)) В зеркале сегодня такие ужасы показывали!.. :)) Основное отличие игры от жизни - это существование клавиши Esc. :)) И точка лазерного прицела на твоем лбу - тоже чья-то точка зрения. :)) Начальник отдела кадров и хакер: :)) Пожалуйста, присылайте свои анекдоты по этой ссылке: info@delphi.int.ru и они обязательно будут опубликованы! Желательно на компьютерную тему.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Товарищи программисты! Проявляйте свою активность. Давайте помогать друг другу! Если вы не нашли ответа на свой вопрос, не отчаивайтесь! Количество подписчиков постоянно растёт и, наверняка, найдётся тот человек, который поможет вам! На сегодня всё. До встречи через неделю! Ведущий рассылки, Ерёмин Андрей. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вы можете оказать помощь нашему проекту через систему WebMoney: R379291065219, Z165075684614. Будем очень признательны! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Наш сайт: http://www.delphi.int.ru/ E-mail: admin@delphi.int.ru; info@delphi.int.ru; expert@delphi.int.ru Страница рассылки: http://subscribe.ru/catalog/comp.soft.prog.delphifaq |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphifaq Архив рассылки |
Отписаться
Вспомнить пароль |
В избранное | ||