Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi 2

Автор: SERGE_BLIZNUK
Дата сообщения: 10.07.2006 11:14

Цитата:
SpVoice из Microsoft Speech Object Library (Version 5.1), правда не на русском

поставишь Катерину - будет тебе и на русском... ;-)))
Автор: ChSerg
Дата сообщения: 10.07.2006 11:38
Очень странный глюк в Delphi 7 EE.

Последнее время откуда то появился такой странный глюк.
После компиляции проекта с включенной отладкой и запуском проекта на исполнения в исходнике одного юнита синенькие точки (места возможной установки брикпоитов) сдвигаются на одну строку вверх. Отладка идет нормально, только на экране неудобно смотреть. При выполнении строки переменные смотришь строкой ниже.

У кого-нибудь было? Как сие лечить?
Автор: OOD
Дата сообщения: 10.07.2006 13:18

Цитата:
Цитата:
SpVoice из Microsoft Speech Object Library (Version 5.1), правда не на русском

поставишь Катерину - будет тебе и на русском... ))


что есть катерина?

И ещё вопрос можно ли сделать задержку без компонента Ttimer , я где-то встречал на api что-то подобное...
можно паузу, или что -то подобное , что заставляет ждать некое время перед выполнением дальнейшего кода!
Автор: greenpc
Дата сообщения: 10.07.2006 14:25
OOD
sleep
Автор: OOD
Дата сообщения: 10.07.2006 15:01
greenpc
Спасибо
Автор: SERGE_BLIZNUK
Дата сообщения: 10.07.2006 15:47

Цитата:
что есть катерина
тут это есть оффтопик...
Катерина голосовой движок. наберите в ya.ru 'ScanSoft Катерина'
Автор: RomanTim
Дата сообщения: 10.07.2006 16:04
ChSerg
Глюк такой появлялся несколько раз. Правда отчего так - я не понял. Вылечивалось иногда перезапуском делфи с удалением всех дку проекта и полным ребилдом, иногда всякими шаманскими танцами с созданием нового пустого модуля и постепенным переносом в него кода из бекапа
Автор: SERGE_BLIZNUK
Дата сообщения: 11.07.2006 02:11

Цитата:
Глюк такой появлялся несколько раз. Правда отчего так - я не понял. Вылечивалось иногда перезапуском делфи с удалением всех дку проекта и полным ребилдом, иногда всякими шаманскими танцами с созданием нового пустого модуля

аналогично... один раз было под Delphi5. Когда возникло - грохнули все настройки проекта (ProjectName.dsk, .dsk, .dof, .res), все DCU, rebuild - вылечилось...
Автор: ChSerg
Дата сообщения: 11.07.2006 06:06
SERGE_BLIZNUK

Сделал. К тому же удадлил все DCU у используемых библиотек. Перебилдил...
Те же грабли... Может еще чего где удалить?
Автор: Pentium133
Дата сообщения: 11.07.2006 09:18
ChSerg
Возможно у тебя две копии проекта в разных папках?
Единственное объяснение этой проблемы - не соответсвие иходного кода объектному (с дебаг информацией).
Как уже сказали лечится удалением не только всех DCU, но других копий исходников (по крайней мере не удалить, но спрятать нужно), которые могут использоваться (внимательно смотри имя файла в заголовке окна редактора - если это абсолютный путь - 100% файл из другого проекта)
Автор: ChSerg
Дата сообщения: 11.07.2006 12:39
Pentium133

Файл один!!! Из библиотеки!!! Используется всеми проектами!!!
Другого нету. Копий тоже!!!

При сборке всех проектов с исходником этого файла творится такая фигня.
С остальными все нормально (по крайней мере те, которые я просмотрел).
В заголовке окна полный путь именно к этому файлу!!!

Вот такие дела... Ничего не могу понять....
Может компилятор его неправильно компилит с дебагом?
Или еще что?
Автор: RomanTim
Дата сообщения: 11.07.2006 14:33
ChSerg
Файл используется явным подключением в проект (в .dpr) или лежит в какой-то папке, путь к которой задан в настройкиах? Возможно где-то затесалась .dcu-шка, которая линкуется, а исходнику не соответствует
Автор: ChSerg
Дата сообщения: 11.07.2006 17:22
RomanTim


Повторяю, файл один на весь комп и DCU одна на весь комп. Лежит в папке, путь к которой задан в настройках среды Delphi как к библиотеке. Другого нету. Копий тоже!!!

У кого-нибудь есть еще какие мысли?
Автор: RomanTim
Дата сообщения: 11.07.2006 19:18
ChSerg
Новый проект с одним этим модулем так же коряво компилится?
Если ничего секретного в этом модуле нет - кинь на мыло. попробую, может и вспомню точно что делал...
Автор: ChSerg
Дата сообщения: 11.07.2006 20:37
RomanTim

Отправил...
Автор: OOD
Дата сообщения: 11.07.2006 21:02
Люди добрые подскажите как можно сделать несколько действие ,относительно условия Значит else.

т.е.допустим:

if действие then ShowMessage('1');
ShowMessage('2');
ShowMessage('3');
else;

срабатывает только ShowMessage('1');
можно ли как либо все 3 действия написать в одной строке чтобы они выполнились по ветви значит ?
Автор: ChSerg
Дата сообщения: 11.07.2006 22:25
OOD

используй оператор CASE

Добавлено:
RomanTim

Отправил...
Автор: OOD
Дата сообщения: 11.07.2006 22:52
ChSerg

Цитата:
используй оператор CASE

А можно пример с этими комадами?
Автор: SERGE_BLIZNUK
Дата сообщения: 12.07.2006 04:15

Цитата:
сделать несколько действие ,относительно условия
можно ли как либо все 3 действия написать в одной строке чтобы они выполнились по ветви значит ?

CASE тут не при чём... ;-))
тебе нужны т.н. операторные скобки - begin/end:

Код:
if действие then begin
ShowMessage('1');
ShowMessage('2');
ShowMessage('3');
end
else; [/q]
Автор: OOD
Дата сообщения: 12.07.2006 08:29

Цитата:

F1 на слове Case трудно нажать - читаем правила - вначале ищем в хелпе, а в хелпе по кейсу очень хорошие примеры.

Не у всех делфи нормальный с полным хелом есть
Автор: vserd
Дата сообщения: 12.07.2006 11:39
ChSerg

Цитата:
Повторяю, файл один на весь комп и DCU одна на весь комп. Лежит в папке, путь к которой задан в настройках среды Delphi как к библиотеке. Другого нету. Копий тоже!!!

Если я правильно путаю, а путаю я правильно :). То в Королевстве Delphi была статья, в которой было показано, что в если в файле записано вместо CRLF в конце строки просто CR, то возникает такой глюк. http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1025

OOD

Цитата:
Не у всех делфи нормальный с полным хелом есть

Это твои внутренние проблемы. Если не удается найти нормальный дистрибутив со справкой, тогда нужно искать ответы в учебниках по языку. Или другой дистрибутив.
Автор: OOD
Дата сообщения: 12.07.2006 11:44
vserd


Цитата:
Это твои внутренние проблемы. Если не удается найти нормальный дистрибутив со справкой, тогда нужно искать ответы в учебниках по языку. Или другой дистрибутив.

Сори за офф.топ, но всё же зачем тогда нужны форумы? Проще всего сказать в гугл, или поиск!
Автор: RomanTim
Дата сообщения: 12.07.2006 12:05
vserd
Так и оказалось - только было не просто CR, а CRCRLF

OOD
Вообще-то форум не по языку паскаль, а по делфи, да и вопросы здесь обычно задают по поводу проблем, решение котрых не самое очевидное. Если ты хочешь начать что-то писать, то найди книжку (бумажную, электронную - не важно) и почитай, посмотри примеры, попробуй сам язык... Учить язык с помощью вопросов на форуме - это все-таки изврат
Автор: OOD
Дата сообщения: 12.07.2006 13:11

Цитата:
Учить язык с помощью вопросов на форуме - это все-таки изврат

За то очень эффективно!
Автор: vserd
Дата сообщения: 12.07.2006 15:14
offtop on
OOD

Цитата:
За то очень эффективно!

Угу, только нужно через каждые три-пять вопросов новый форум искать, так как либо ответы становятся "почитай книжку", "смотри справку", RTFM, и предупреждения за нарушения правил, либо банальный игнор. Если ты думаешь что людям приятно отвечать на банальные вопросы, ответы на которые есть в любой книге по основам программирования на этом языке программирования, то ты глубоко ошибаешся.

Так как у тебя явно видно максимализм "окружающие мне должны" который не рабоатет, с сожалением могу сказать что практика жизни показывает что работает другой максимализм "Окружающим пофигу ваши проблемы, у них своих хватает". А если кто помог тому спасибо/или другая благодарность, даже через много времени.


Цитата:
Проще всего сказать в гугл, или поиск!

Если бы мне в ответ на мои вопросы всегда давали правильный запрос для поисковой системы я был бы счастлив без меры. :) Там столько нового можно узнать...
offop off

RomanTim

Цитата:
Так и оказалось - только было не просто CR, а CRCRLF

а это крайний случай :)) должно быть CRLFCRLF. Просто две пустых строки подряд.
Автор: RomanTim
Дата сообщения: 12.07.2006 15:18
OOD

Цитата:
За то очень эффективно!

Очень сомнительно... за день ты получишь от силы 4-5 ответов, да и то - если на вопросы о таких элементарных вещах кто-то отвечать будет, а с книжкой за пару часов можно разобраться в синтаксисе практически любого языка (операторы, циклы, условия и т.п.), а вот когда появятся вопросы - какой из частей вцл лучше сделать то или иное - тогда уже можно и поспрашивать.
Ладно, заканчиваем оффтопить, хочется - пиши в ПМ
Автор: Iamer
Дата сообщения: 15.07.2006 04:43
Блин, народ, посоветуйте с чего начать изучение Delphi? Точнее с какой литературы?
То что прочитал несколько книг... они меня просто ЗАДОЛБАЛИ!!! Ощущение что не программинг изучаю а курс математики/в разных ее проявлениях! Что за ботва, сложение блин, умножение, конусы, долбаные "липипиды", уравнения и подобная хрень!!! Терпение переполнилось после поседней прочтенной буки - Пестрикова/Маслобоева - Delphi на примерах! До этого было вроде - Самоучитель Delphi 8 for .NET...
И еще что то - не помню уже что...
И везде блин пытаются впарить only работу с числами - задолбало уже!
Или это так и должно быть? ...НЕВЕРЮ!!!
Ух, злости просто нету придела!
Собственно, кто как начинал, чего посоветуете почитать реально стоящего?
Автор: OOD
Дата сообщения: 15.07.2006 09:47
Не получается вырезать в memo с нужных символов и по....нужные

В мемо1 есть строка:
session=d6f5255ae5f6&
из неё нужно вырезать d6f5255ae5f6
т.е. спозиционировать курсор от session= и по & и вырезаь,всё, что между.
пробую вот так:

a,c : integer;

begin
a := Pos('?session=',memo1.Text);
c := Pos('&',memo1.Text);
form1.Caption:= inttostr(a)+' '+ inttostr(c);
label1.Caption:=Copy(Memo1.text, a , c-a);

вырезает ?session=d6f5255ae5f6
подскажите как нужно сделать так чтобы отрезать ?session=.

Сейчас сделал 2-й мемо, в который вставляю , после вырезания ?session=d6f5255ae5f6 и там уже отрезаю, всё, что после =, но это не удобно, наверняка можно вырезать сразу всё, что после ?session= , но как?!

Всё бы хорошо,но Если в Мемо находиться большое колличество значений и строк, тогда данный код вообще не работает :\ Подскажите как можно вырезать значения Между определенными символами т.е. вырезать значения по маске?
Автор: vserd
Дата сообщения: 15.07.2006 10:55
Iamer
Цитата:
Блин, народ, посоветуйте с чего начать изучение Delphi? Точнее с какой литературы?

Тут две составляющие.
1. Язык програмирования
2. Среда.

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

Я начинал с книжки Датемана и Тейлора Delphi, но ее щас денм с огнем не найдешь, так как она по делфи 1.
Народ рекомендует Архангельского, я на развале смотрел на нее, написана достаточно понятно.
Для продолжения образорвания могу порекомендовать Ксавье и Пачеко (двухтомник) любое издание, также посмотришь на Марко Канту, он переиздается регулятрно, только меняется версия Делфи.
OOD
Вот видишь что значит иметь среду со Справочной системой
[more]

Цитата:
Returns the index value of the first character in a specified substring that occurs in a given string.

Unit

System

Category

string handling routines

function Pos(Substr: string; S: string): Integer;

Description

Pos searches for a substring, Substr, in a string, S. Substr and S are string-type expressions.

Pos searches for Substr within S and returns an integer value that is the index of the first character of Substr within S. Pos is case-sensitive. If Substr is not found, Pos returns zero.



Цитата:
Returns a substring of a string or a segment of a dynamic array.

Unit

System

Category

string handling routines

function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;

Description

S is an expression of a string or dynamic-array type. Index and Count are integer-type expressions. Copy returns a substring or sub array containing Count characters or elements starting at S[Index].

If Index is larger than the length of S, Copy returns an empty string or array.

If Count specifies more characters or array elements than are available, only the characters or elements from S[Index] to the end of S are returned.

Note:    When S is a dynamic array, Copy can only be used as a parameter in a call to a procedure or function that expects an array parameter. That is, it acts like the Slice function when working with dynamic arrays.

[/more]
label1.Caption:=Copy(Memo1.text, a+length('?session='), c-a-length('?session='));
оптимизацию сделаешь сам

Автор: subway1985
Дата сообщения: 15.07.2006 12:51
У меня тут небольшой вопрос ситуация такая:
на форме есть два Edit'а и один ListBox и кнопка, как
сделать чтобы к примеру в 1ом Edit'е было число 1, а
во втором к примеру 8, то нажав на кнопку в Listbox'е
были числа 1,2,3,4,5,6,7,8?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Событие STFilter(DBGridEh) ???


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.