Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi

Модерирует : ShIvADeSt

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Z MeZe



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

 
pand
 А есть какой-нибудь механизм обработки такого рода данных очень быстро?
Данные структурированы. Желательно в массивы их забить?

Всего записей: 455 | Зарегистр. 09-02-2004 | Отправлено: 23:10 06-06-2005
Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
быстрее чем будешь переводить строку в число - не получится
есть, конечно, варианты с распараллеливанием процесса перевода на несколько потоков, а еще лучше - на несколько машин... точки/запятые - это задается в formatsettings...

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 00:01 07-06-2005
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Z MeZe
Если ты уверен в корректности входящих данных, можно попробовать написать свой алгоритм перевода и выиграть время за счет того, что не проверять ошибки, как это делается в стандатных алгоритмах .

Всего записей: 832 | Зарегистр. 30-01-2002 | Отправлено: 10:44 07-06-2005
Dimic



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, подскажите, как решить проблемму: на форме был размещен TImage, возникла необходимость вставить его в  PageControl. Я удалил Timage с формы и создал новый с тем-же именем уже на одной из страниц PageControl-а. Теперь при попытке ображения к свойствам этого TImage при работе программы возникает ошибка, мол не туда обращаюсь.  
Подскажите, в чем беда?

Всего записей: 50 | Зарегистр. 06-01-2004 | Отправлено: 11:38 07-06-2005
SergeyReutov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как можно связаться из Delphi с sql-сервером?
Какие компоненты для этого требуются, с какой закладки? Если можно, то поподробнее.  

Всего записей: 171 | Зарегистр. 23-01-2003 | Отправлено: 17:11 07-06-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SergeyReutov
С каким? Для InterBase уже есть в поставке.
MSSQL - через ADO.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 17:14 07-06-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ подскажите как в строку вписать символ '
FName: string;
FName := 'Све''та'; // чтобы '' внутри Светы тоже записались.

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 20:56 07-06-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ViktorSila
четыре раза напиши
Цитата:
FName := 'Све''''та';



----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 21:54 07-06-2005
Almaz



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
решил побаловаться с D9 и сразу наткнулся на следующее: в проектах, прекрасно работающих под D7, перестал вызываться help file (*.hlp), выдает exceptions:
Application.HelpContext -> No context-sensitive help system installed
Application.HelpJump -> No topic-based help system installed
 
ViktorSila

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

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

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

зачем спрашиваешь? и так все знаешь

Всего записей: 2219 | Зарегистр. 20-06-2002 | Отправлено: 21:59 07-06-2005
Z MeZe



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sleepwalker

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

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

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

Уверен 100%

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

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

Всего записей: 455 | Зарегистр. 09-02-2004 | Отправлено: 22:12 07-06-2005
Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Z MeZe

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

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

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 23:37 07-06-2005
Z MeZe



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sleepwalker

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

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

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

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

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

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

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

Попутал 13-15 сек

Всего записей: 455 | Зарегистр. 09-02-2004 | Отправлено: 23:57 07-06-2005
Almaz



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

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

Всего записей: 2219 | Зарегистр. 20-06-2002 | Отправлено: 00:23 08-06-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос по работе с Базой Данных.
Имеется обычная парадоксавская бд, есть поле FNAME с типом соответственно CHARACTER, или как он точно определён в парадоксе не помню, под рукой нету.
Необходимо сбацать элементарный поиск строки в FNAME.
Есть несколько предположений, пустить цикл и перебрать весь FNAME вплоть до EOF, воспользоваться готовыми функциями, такие кстати есть в дельфи?
Пожалуйста, приведите пример кода.

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 08:24 08-06-2005
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
STEEL
Построй индекс по этому полю и FindKey.

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 08:51 08-06-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Где можно найти хорошую инфу по работе фильтра в DataSet?

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 10:47 08-06-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Создаю потомок. Меняю пару обработчиков,  начинаю по шагово тестить (F7), а он в предок не заходит. Предок находится в DB. как сделать чтоб он туда заходил?

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 18:58 08-06-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViktorSila
23:58 08-06-2005
Цитата:
Предок находится в DB. как сделать чтоб он туда заходил?

inherited <имя метода>;

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 19:01 08-06-2005
Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViktorSila
RTFM! там есть все что нужно

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 22:54 08-06-2005
ViktorSila

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что такое RTFM!  
evle

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

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

Всего записей: 54 | Зарегистр. 04-02-2005 | Отправлено: 11:49 09-06-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru