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

» Вопросы по Delphi

Автор: Dim2004
Дата сообщения: 03.06.2005 13:32
CreoVision

Цитата:
Т.Е. при передаче параметров массив копируется???

Эта... RTFM, в общем :

"A value parameter acts like a local variable that gets initialized to the value passed in the procedure or function call. If you pass a variable as a value parameter, the procedure or function creates a copy of it; changes made to the copy have no effect on the original variable and are lost when program execution returns to the caller.

A variable parameter, on the other hand, acts like a pointer rather than a copy. Changes made to the parameter within the body of a function or procedure persist after program execution returns to the caller and the parameter name itself has gone out of scope."
Автор: 2Polkan
Дата сообщения: 03.06.2005 15:17
ТребуеЦа написать прогу, чтобы она редактировала файл *.ini а именно, заменяла Н-ную строку на свою, потом созраняла файл... почему-то AssignFile не подцепляет ini'шник :(
Автор: Larry Laffer
Дата сообщения: 03.06.2005 15:30
2Polkan, хех. Читай доку по IniFiles
Автор: OdesitVadim
Дата сообщения: 03.06.2005 15:31
2Polkan
в хелпе на тему iniFile почитай
Автор: Z MeZe
Дата сообщения: 03.06.2005 16:26
Какой бы мне функцией конвертировать String в Double.
Вот что есть:
большой (порядка 1 гига и >) файл, где прописаны числа в формате #.###
Нужно перекидать их в число, но чтобы не менять точки на запятые.
Автор: pand
Дата сообщения: 03.06.2005 17:15
Z MeZe
RTFM function StrToFloat(const S: string; const FormatSettings: TFormatSettings): Extended; overload;
Автор: ViktorSila
Дата сообщения: 05.06.2005 12:40
Выражение:


Цитата:
FPerformGetRecordCount: function: integer of object;


Perform - что-то конкретное обозначает или это просто назнание переменной?
Автор: OdesitVadim
Дата сообщения: 05.06.2005 12:47
ViktorSila
ну захотелось так человеку переменную назвать. Мож он какой-то глуьокий смысл и вложил, но если переименуеш, то ничего не поменяется. Только буковку F желательно оставить - это соглашение об наименованиях
Автор: ViktorSila
Дата сообщения: 05.06.2005 14:15
OdesitVadim
Как я понимаю F, T, On желательно придерживаться, Perform - это чисто часть название переменной.
Автор: OdesitVadim
Дата сообщения: 05.06.2005 14:47
ViktorSila
Да, их стоит придерживаться, так как по них среда может корректно "дописывать" реализации методов и свойств. И другим программистам сразу понятно о чём идёт дело.
Автор: Z MeZe
Дата сообщения: 06.06.2005 22:10

Цитата:
Какой бы мне функцией конвертировать String в Double.
Вот что есть:
большой (порядка 1 гига и >) файл, где прописаны числа в формате #.###
Нужно перекидать их в число, но чтобы не менять точки на запятые.


pand
А есть какой-нибудь механизм обработки такого рода данных очень быстро?
Данные структурированы. Желательно в массивы их забить?
Автор: Sleepwalker
Дата сообщения: 06.06.2005 23:01
быстрее чем будешь переводить строку в число - не получится
есть, конечно, варианты с распараллеливанием процесса перевода на несколько потоков, а еще лучше - на несколько машин... точки/запятые - это задается в formatsettings...
Автор: MrZeRo
Дата сообщения: 07.06.2005 09:44
Z MeZe
Если ты уверен в корректности входящих данных, можно попробовать написать свой алгоритм перевода и выиграть время за счет того, что не проверять ошибки, как это делается в стандатных алгоритмах .
Автор: Dimic
Дата сообщения: 07.06.2005 10:38
Ребята, подскажите, как решить проблемму: на форме был размещен TImage, возникла необходимость вставить его в PageControl. Я удалил Timage с формы и создал новый с тем-же именем уже на одной из страниц PageControl-а. Теперь при попытке ображения к свойствам этого TImage при работе программы возникает ошибка, мол не туда обращаюсь.
Подскажите, в чем беда?
Автор: SergeyReutov
Дата сообщения: 07.06.2005 16:11
Подскажите, как можно связаться из Delphi с sql-сервером?
Какие компоненты для этого требуются, с какой закладки? Если можно, то поподробнее.
Автор: OdesitVadim
Дата сообщения: 07.06.2005 16:14
SergeyReutov
С каким? Для InterBase уже есть в поставке.
MSSQL - через ADO.
Автор: ViktorSila
Дата сообщения: 07.06.2005 19:56
Народ подскажите как в строку вписать символ '
FName: string;
FName := 'Све''та'; // чтобы '' внутри Светы тоже записались.
Автор: OdesitVadim
Дата сообщения: 07.06.2005 20:54
ViktorSila
четыре раза напиши
Цитата:
FName := 'Све''''та';

Автор: Almaz
Дата сообщения: 07.06.2005 20:59
решил побаловаться с D9 и сразу наткнулся на следующее: в проектах, прекрасно работающих под D7, перестал вызываться help file (*.hlp), выдает exceptions:
Application.HelpContext -> No context-sensitive help system installed
Application.HelpJump -> No topic-based help system installed

ViktorSila

Цитата:
Народ подскажите как в строку вписать символ '

поставь два подряд, получится один, хочешь два - поставь четыре

Цитата:
FName := 'Све''та';

зачем спрашиваешь? и так все знаешь
Автор: Z MeZe
Дата сообщения: 07.06.2005 21:12
Sleepwalker

Цитата:
есть, конечно, варианты с распараллеливанием процесса перевода на несколько потоков, а еще лучше - на несколько машин...

Изздеваесссья
MrZeRo

Цитата:
Если ты уверен в корректности входящих данных,

Уверен 100%

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

Мне нужно выиграть не за счет проверки корректности а вообще выиграть во времени, потому что эта часть - не самоцель программы, а некий блок, который должен работать незаметно (ну, или почти незаметно) для конечного пользователя.
Еще раз. Инфа, которая мне известна о файлах:
1. формат числа (абсолютно точно).
2. количество этих чисел (короче, я знаю, допустим, что в файле *.* - 100 000 000 000 чисел).
3. Данные структурированы абсолютно (знаю сколько байт занимает одно число, но не знаю как они разделены: один пробел, два три и т.д., TAB, "-" и т.д.)

Меня интересует, можно ли забирать данные не построчно, а скажем, некими блоками и т.д.

Вот, соббссенно и все
Автор: Sleepwalker
Дата сообщения: 07.06.2005 22:37
Z MeZe

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

да хоть все сразу

кстати, если у тебя 100Г чисел, и каждое число занимает ну пусть 10 знаков, получается 1ТБайтный файл... ась?
ну ладно, это лирика.
Я бы сделал так: два параллельных потока, один читает из файла в буфер, второй выдергивает оттуда числа и преобразует собственно в само число... если сложно, сделай в одном потоке...
функции, которые потребуются:
getmem, freemem и blockread.

кстати, а числа-то куда девать будешь?
Автор: Z MeZe
Дата сообщения: 07.06.2005 22:57
Sleepwalker

Цитата:
кстати, если у тебя 100Г чисел, и каждое число занимает ну пусть 10 знаков, получается 1ТБайтный файл... ась?

Задумался нажимая на нули и пробел
Файлы до одного гига (ну, 1.2-1.3 максимум)

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

Такая мысль была... Думаю, тоже достаточно долго.

Цитата:
кстати, а числа-то куда девать будешь?

Числа в массив(ы). Там разноплановые данные, плэтому места в массивах хватит.

Дело в том, что видел подобные вещи. Там в общем следующее:
файл в 800 мегов обрабатывается за 3-5 секунд (P4 3.2, 2 Гб ОЗУ). Не знаю как сделано там.
Можно ли средствами Делфи добиться того же?
...
Короче, запарил я всех. Буду тыкаться. Расскажу.
Может кто оптимизировать поможет.

Добавлено:

Цитата:
файл в 800 мегов обрабатывается за 3-5 секунд

Попутал 13-15 сек
Автор: Almaz
Дата сообщения: 07.06.2005 23:23

Цитата:
Может кто оптимизировать поможет

что оптимизировать? чтение гигабайта с жесткого диска? при нынешних гигабайтах и гигагерцах (P4 3.2, 2 Гб ОЗУ) собственно конвертация займет очень мало времени. почему-то кажется, что этих самых файлов - кот наплакал, и вопрос оптимизации так остро не стОит. посчитай сколько ты часов ты потратишь, чтоб клиент сэкономил десяток-другой секунд/минут

пользуясь случаем, снова напоминаю о моей трабле с хелпом в D2005, см. четырьмя постами выше
Автор: STEEL
Дата сообщения: 08.06.2005 07:24
Вопрос по работе с Базой Данных.
Имеется обычная парадоксавская бд, есть поле FNAME с типом соответственно CHARACTER, или как он точно определён в парадоксе не помню, под рукой нету.
Необходимо сбацать элементарный поиск строки в FNAME.
Есть несколько предположений, пустить цикл и перебрать весь FNAME вплоть до EOF, воспользоваться готовыми функциями, такие кстати есть в дельфи?
Пожалуйста, приведите пример кода.
Автор: PowerChute
Дата сообщения: 08.06.2005 07:51
STEEL
Построй индекс по этому полю и FindKey.
Автор: ViktorSila
Дата сообщения: 08.06.2005 09:47
Где можно найти хорошую инфу по работе фильтра в DataSet?
Автор: ViktorSila
Дата сообщения: 08.06.2005 17:58
Создаю потомок. Меняю пару обработчиков, начинаю по шагово тестить (F7), а он в предок не заходит. Предок находится в DB. как сделать чтоб он туда заходил?
Автор: evle
Дата сообщения: 08.06.2005 18:01
ViktorSila
23:58 08-06-2005
Цитата:
Предок находится в DB. как сделать чтоб он туда заходил?

inherited <имя метода>;
Автор: Sleepwalker
Дата сообщения: 08.06.2005 21:54
ViktorSila
RTFM! там есть все что нужно
Автор: ViktorSila
Дата сообщения: 09.06.2005 10:49
Что такое RTFM!
evle

Цитата:
inherited <имя метода>

Не срабатывает. Я хочу при трассировк (F7), заходило в методы предка(Предок DataSet). А то по моим обработчикам от ходит, а как по предку погулять.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Вероятность одинакового CRC32


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