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

» Вопросы по Delphi

Автор: Schatz
Дата сообщения: 30.03.2006 13:38
vserd
Смотри мой предыдущий ответ, по поводу функции "InToStr" - это оЧепятка, а по поводу "TButton" - это как раз и была моя ошибка, запарился просто
Автор: whitewolfs
Дата сообщения: 31.03.2006 02:58
Help plizzzz!!!
Есть база dbase III+. Нужно найти ВСЕ строки например с field1=1. Вопрос: как, если при этом нельзя использовать BDE и желательно не юзать индексы? Для подключения к базам используется TDBF 6.4.7. (http://sourceforge.net/projects/tdbf/). Locate находит только одну строку. Можно конечно пользовать
while not Table1.eof do begin //----------------------
if Table1.FieldByName = 1 then begin
.........................
end;
Table1.Next;
end; //------------------------
но блин это работает очень медленно.
Автор: ShIvADeSt
Дата сообщения: 31.03.2006 05:46
whitewolfs
Если есть свойство Filter (а по идее должно быть), то используй его например Filter:='Field1=1';
если нет такого, то очень тяжко, так как SQL запросы потребуют БДЕ (если конечно не найти компонент или либу, которая без БДЕ работает).
Автор: SERGE_BLIZNUK
Дата сообщения: 31.03.2006 07:02
whitewolfs

Цитата:
Для подключения к базам используется TDBF 6.4.7

А не пробовали подключится через ADO connection ?
например, бесплатный
Microsoft OLE DB Provider for Visual FoxPro
там есть полноценные SQL select (select * from table.dbf where Field1=1)

p.s. в TDbf разумеется есть Filter
Автор: whitewolfs
Дата сообщения: 31.03.2006 09:13
ShIvADeSt, SERGE _BLIZNUK спасибо за советы!
Вроде решил проблему. Filtеr действительно помог, я и раньше пробовал с ним поиск организовать, но почему то думал, что он без индексов не работает. Оказалось, работает вполне!
Автор: RostY
Дата сообщения: 31.03.2006 09:36
whitewolfs
Фильтром фильтруй, а поиск делай через Locate
Автор: Markell
Дата сообщения: 31.03.2006 12:59
Подскажите, плз, кто-нибудь знает, как взять таблицу из Excel и запихнуть ее в DataGrid? (Delphi 2005, WinForm Application)
Автор: ArtemiyUO
Дата сообщения: 31.03.2006 13:22
дот нет must die
на вин32 знаю как. Например можно открыть xls фаил с помощью оле-сервера, достать от туда данные а потом по вкусу либо прямо в стринггрид, либо в меморидатасет и потом в датагрид.
в дот нет так же только конкр не скажу.
Автор: Markell
Дата сообщения: 31.03.2006 13:29
ArtemiyUO
На win32 сам делал так же, через StringGrid. А сейчас именно под .Net надо
Автор: reenoip
Дата сообщения: 31.03.2006 23:47
У меня, быть может, несколько необычная просьба
В общем, нужна инфа, где кратко, умно и доступно написано, какими инструментами и/или строчками кода можно максимально оптимизировать приложение, написанное на delphi 6.
У меня всё прекрасно, всё идеально, но, блин, прога почти 10 метров ОЗУ жрёт, скотина. Раздражает невероятно...

Знаю, можно убить её аппетит, но каким образом?
Автор: ShIvADeSt
Дата сообщения: 01.04.2006 00:54
reenoip

Цитата:
У меня всё прекрасно, всё идеально, но, блин, прога почти 10 метров ОЗУ жрёт, скотина. Раздражает невероятно...

Смотря какая программа, так как в некоторых случаях 10 метров это мало, неважно на чем написанная программа (смотри какие либы она грузит) если идет работа с базами данных то это нрм явление, а вообще если прога работает стабильно , то 10 метров это не так уж и много.
Автор: valerka78
Дата сообщения: 01.04.2006 11:48
reenoip
Почитай _http://bonanzas.rinet.ru
Я, правда, пробовал, мне не особо понравилось, но памячти однознпчно меньше жрет.
Автор: Markell
Дата сообщения: 01.04.2006 12:55
Вопрос такой: как можно из Delphi под Win32 подключится к БД MS SQL и записать данные оттуда в таблицу?
Автор: EZH
Дата сообщения: 01.04.2006 13:11
Markell
Либо через стандартные ADO компоненты, либо используя какие-то сторонние, типа SQL Server Direct Access Components (SDAC).
Автор: fixer84
Дата сообщения: 01.04.2006 13:31
[удалено]
Автор: EZH
Дата сообщения: 01.04.2006 13:32
fixer84
Он просил MS SQL
Автор: fixer84
Дата сообщения: 01.04.2006 13:40
EZH
Да, что-то перепутал.
В последнее время много с MySQL работал.
Markell
Можно через стандартные компоненты Delphi. Коннект с помощью ADOConnection, OLE DB Provider выбираешь Microsoft OLE DB Provider for SQL Server.
Автор: Markell
Дата сообщения: 01.04.2006 15:23
Спасибо!
Автор: reenoip
Дата сообщения: 01.04.2006 16:18
valerka78
Нет, родной, пока я VCL на KOL перепишу - это ещё год пройдёт )))
Мне бы что-нибудь такое, хитрое

Добавлено:
Не понял, а что с форумом... Маты какие-то... Что за хрень?
Автор: ALeXkRU
Дата сообщения: 01.04.2006 17:35
reenoip
день_ сегодня_ такой_ - админы_ шутют_
Автор: waik
Дата сообщения: 01.04.2006 19:33
Сори за оффтоп.
Пока читал страницу чуть не помер от смеха. Думал народ прикалывается...Оказывается весь форум как подонкафф начитался . Ух... слезы текут.
Автор: valerka78
Дата сообщения: 02.04.2006 11:24
reenoip
Ну опиши хотяб в двух словах что за прога и что делает мб что подскажут
Автор: 0bject
Дата сообщения: 02.04.2006 15:11
Подскажите где почитать или пример приведите.
Вобщем нужно как то со сканера изображение взять, причем не вызывая стандартный twain модуль, а самостоятельно. Главное установить разрещение, цветопередачу (мне хватит 2 цвета) и регион сканирования (мне нужен весь А4).
В принципе можно и стандартный модуль захвата использовать но чтоб он не отражался на экране со своей кучей кнопок и настроек.
К сведенью:
Тут -> http://www.codenet.ru/progr/delphi/stat/twain.php расписано как и куда, для использования стандартного модуля захвата (идет со сканером).
Автор: reenoip
Дата сообщения: 02.04.2006 20:35
valerka78
Замутил нечто вроде dock'a - панель с батонами, невидимая до тех пор, пока мышь не появится на краю десктопа. И вот пока она невидима - жрёт до фига памяти, а хотелось бы, чтобы меньше. Я не жадный, просто у меня Касперский (5.0) жрёт столько же, но делает при этом полезного гора-а-а-аздо больше, чем моя панель
А зачем платить больше, если стирает одинково? Вот и хотел узнать, есть ли какие-нибудь хитрости, ловушки, общие ошибки программиста, прочитав/изучив/исправив которые можно было бы хоть немного умерить аппетит приложения...
С другой стороны, это - расплата за то, что юзаю VCL, но всё-таки

Добавлено:
Ещё вопрос... Есть три процедуры для отлова кликов грызуна:
1. WMNCRBUTTONDOWN(var msg: TMessage); message WM_NCRBUTTONDOWN;
2. WMNCLBUTTONDOWN(var msg: TMessage); message WM_NCLBUTTONDOWN;
3. WMNCLBUTTONDBLCLK(var msg: TMessage); message WM_NCLBUTTONDBLCLK;

Как написать ту, которая будет ловить клик средней кнопки мыши?.. Логика отсутствует напрочь (((

Добавлено:
Нашёл её: procedure WMNMBUTTONDOWN(var msg: TMessage); message WM_MBUTTONDOWN;

Но она у меня не пашет, почему-то \\\




p.s.
Тихо сам с собою...
Я веду беседу...

Добавлено:
Есть контакт! Нашёл!

WM_NCMBUTTONDOWN
Автор: JekaCh
Дата сообщения: 02.04.2006 23:39
В вопросах по Builder уже запостился, но может нужный мне знаток читает только Delphi ветки так, что спрошу и здесь .
В инсте есть задача написать прогу для работы с внешним железом. Работа производится непосредственной записью в память определённых значений. Есть прога недописанная и не обладающая необходимым функционалом, но имеющая правильные мысли написанная на Delphi. Так как Borland Builder я знаю получше хотелось бы перевести нужные мне вещи на язык builder, но знаний не хватает .
Вот как выглядит нужный мне кусок на Delphi:
int N, MyAdress;
BaseAdress:=$D0000; -такое же прямое указание адресса в билдере не проходит
procedure WriteWord95(Address:integer; Value:word);
var Data:^word; - это насколько я понял мона заменить на unsigned short *Data;
P:pointer; - это на void *P;
begin
P:=Ptr(Address); функция Ptr переводит указанный адресс в указатель, как сделать это в Билдере?
Data:=P;
Data^:=Value;
end;
MyAdress=BaseAdress+$20*N;
WriteWord95 (MyAdress, 4);
Как то же самое будет выглядеть в билдере? Если кто знает помогите плиз!
Автор: valerka78
Дата сообщения: 03.04.2006 04:30
reenoip
А после того, как сановится видимой, жрет меньше? Мб, тут и зарыта собака?
Какой процедуркой пользуешься для определения наезда мыши?
Автор: 0bject
Дата сообщения: 03.04.2006 05:51
Есть огромная матрица (массив) типа boolean, подскажите как ее свернуть (сжать) для хранения в одной ячейки БД.
То есть по сути это двухцветная картинка (ч/б), но представленна она в виде матрицы.
Автор: ArtemiyUO
Дата сообщения: 03.04.2006 06:21
Ну так и храни как двоичную строку, 01010101010110.
Автор: valerka78
Дата сообщения: 03.04.2006 06:23
0bject
Нафик ее сворачивать то? Так и храни матрицей
Автор: 0bject
Дата сообщения: 03.04.2006 08:28
.. написал же "ДЛЯ ХРАНЕНИЯ В ОДНОЙ ЯЧЕЙКЕ БД". Дык вот тепрь скажите как в одну ячейку запихнуть матрицу.
Пока остановился на следующем:
есть матрица (оочень большая)
001010110 .. 1
.....................
000011010 .. 1
110101010 .. 1
101010101 .. 0
делим ее на строки и сохраняем в одну строчку, в начале строки записываем размерность для последующей разбивки. Напрмер
"12346#10101011101010101101101 .. 1010101010101" - это строка.
такую строчку можно писать в БД. Тип string or ansistring
ps/ вот бы ее еще ввиде int числа представить..

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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