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

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

Автор: SergeBS
Дата сообщения: 02.05.2006 15:28
ArtemiyUO
Попытка 1:
ОШИБКА
Запрошенный URL не может быть доставлен

Во время доставки URL:
http://prol.ab.ru/doc/ora_doc/index.htm

Произошла следующая ошибка:

Невозможно определить IP адрес узла prol.ab.ru

Сервер адресов ответил:

Name Error: The domain name does not exist.

Это обозначает:

Кэш не в состоянии определить сервер, указанный в URL.
Проверьте правильность написания адреса.

Попытка 2:
ОШИБКА
Запрошенный URL не может быть доставлен

Во время доставки URL:
http://prol.ab.ru/

Произошла следующая ошибка:

Невозможно определить IP адрес узла prol.ab.ru

Сервер адресов ответил:

Name Error: The domain name does not exist.

Это обозначает:

Кэш не в состоянии определить сервер, указанный в URL.
Проверьте правильность написания адреса.



Добавлено:
ArtemiyUO

Ну и где же это счастье? Имеется в виду доки?
У меня между прочим выделенка. 600 кБит

Добавлено:
Я серьезно хотел бы заиметь качественные доки по Ораклу. Не всякие там отсканеные кое-как копии бумажных, которые поэтому весят тучу Мб, а именно НОРМАЛЬНЫЕ, чтобы поиск работал и т.п. По InterBase те же тысячи страниц весят меньше 20 Мб. Кто подскажет? Вот ЭТО - не надо(уже есть и тряпичное):
«Oracle 9i. Настольная книга администратора» - [13 Mb]
«Oracle 101 PL/SQL. Как писать мощные и гибкие программы на PL/SQL» - [57 Мб]
«Oracle9i. Программирование на языке PL/SQL». Part 1 - [49 Mb]
«Oracle9i. Программирование на языке PL/SQL». Part 2 - [39 Mb]
Автор: ArtemiyUO
Дата сообщения: 02.05.2006 16:41
сори, завтра приду на работу все линки дам в лучшем виде.
Автор: ShIvADeSt
Дата сообщения: 03.05.2006 00:58
SergeBS
ArtemiyUO
По ораклу сюда, здесь хорош по нему писать
http://forum.ru-board.com/topic.cgi?forum=33&topic=1012&start=180#lt
Автор: ArtemiyUO
Дата сообщения: 03.05.2006 06:24
вот мегодокументация по ораклу
http://prol.ab.ru/doc/ora_doc/
еще
http://tahiti.oracle.com/pls/db92/db92.homepage
Автор: ggrrizzlly
Дата сообщения: 03.05.2006 08:53
ArtemiyUO

Цитата:
http://prol.ab.ru/doc/ora_doc/

Ссылка не рабочая.
Автор: hhhhhhhhhhhhhhhhhh
Дата сообщения: 03.05.2006 12:51
Спасибо за ответ!
Инет не постоянный, новый вот только дали.
короче


Цитата:
И таблица справочник spr_colors с полями ID - INTEGER, VALUE - VARCHAR
CСоотвктственно для DBLookupComboBox

datasource - main
datafield - color

listsource - spr_colors
keyfield - id
ListField - value


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

В случае с DBComboBox списка как такового нет, есть первый элемент списка.

Пожалуйста помогите, уже долго мучаюсь!!!!
Диплом застрял!!!!!!!!!!!!
Это ОЧЕНЬ СРОЧНО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Пожалуйста присылайте ответ и на форум и на pool_84@mail.ru




Добавлено:
gpi
Sleepwalker


Цитата:
А у тебя датасет, куда выбирается значение, открыт?


Цитата:
либо тот источник, который идет как DataSourse, отключен,


Скажите как подключать или открывать датасет, может я его не так открываю\подключаю?

Автор: reenoip
Дата сообщения: 03.05.2006 15:45
Здравствуйте.

Вопрос:
есть таблица (*.mdb (ADO)) и два cxGrid'а.
Задача такая: в гриде N1 вводят какие-то текстовые данные (допустим, название улицы в поле "adres"), а другой - грид N2 - должен показать в своём уже поле "adres" битмап (предположим, у меня это - иконка с домиком).
Это нужно для того, чтобы не "засорять" грид N2 текстовой инфой, а показывать только наличие записи в гриде N1. Т.е. если адрес где-то там в недрах БД есть - то битмап присутствует, если нет - то и битмапа нет, разумеется.


Раскидал с OLE, но застрял на голом месте - одно поле не могу использовать для двух видов данных, а как "передавать" полю N55 (в котором битмапы), что в поле N21 ввели текст и сохранили его - не знаю (((
Автор: EvSeKo
Дата сообщения: 03.05.2006 15:46
Здравствуйте. Я слышал, что функция выделения памяти под массив SetLength относительно других медленная, обращение к элементам такого массива тоже медленное. Подскажите, пожалуйста, более быстрый аналог функции SetLength, я слышал что такая имеется.
Автор: RostY
Дата сообщения: 03.05.2006 16:11
reenoip
Сделай поле
Цитата:
N55 (в котором битмапы),
как Calculated Field и в OnCalcFields
напиши
Dataset.FieldByName('N55').AsBoolean:= Dataset.FieldByName('N21').IsNull.

после того как
Цитата:
поле N21 ввели текст и сохранили его
поле 55 пересчитается




Автор: SZap
Дата сообщения: 03.05.2006 18:11
Уважаемые, может кто сталкивался, проблема следующая:
имею две таблицы (t1,t2), необходимо произвести связь master-detail при помощи HalcyonDataSet по трем полям (a(data), b(string), c(numeric без дробной части)
Как это можно сделать?
Делаю индекс: DTOS(a)+b+STR(c,3,0)
Такой же задаю MasterFields...
Ругается, что поле "DTOS(a)+b+STR(c,3,0)" в MasterSource отсутствует
Помогите пожалуйста...
Автор: OdesitVadim
Дата сообщения: 03.05.2006 18:12
EvSeKo
Сама по себе функция не такая уж и медленная. Идея в другом. Когда Вы пишете безобидную конструкцию SetLength(a,length(a)+1) за кулисами происходит очень "страшные вещи". Вначале выделяется кусок памяти необходимого размера (не дотачивается, а именно выделяется ещё один, хотя в некоторых случаях может быть запас места и Делфи воспользуется этим, к примеру TStringList, смотреть в сторону Capacity)Потом с старого копируется в новый и старый освобождается. Пока блоки памяти маленькие (по некоторым расчётом - до 4 кило) делфовский менеджер сравнительно быстро разруливает такие блоки, но когда счёт идёт на мегабайты.... (молчу)
Скорость. По моим замерам и некоторых других людей скорость доступа к элементам динамического масива против статического меньше в 2 - 3 раза.

Что же делать?
Менять идеологию. Вот пример
Неоптимальный код

Код:
var a:array of integer;
i:integer;
begin
for i:=1 to 10000 do begin
Setlength(a,i);
a[i]:=i;
end;
Автор: reenoip
Дата сообщения: 03.05.2006 19:02
RostY

Цитата:
Calculated Field
где сделать? В Access? Не нашёл




Цитата:
OnCalcFields

выставил в свойстве ADOQuery.
Автор: Barakuda7
Дата сообщения: 03.05.2006 20:13
Народ, ВСЕМ ПРИВЕТ!!!
Нужна помощь, нужно переделать Ansi (допустим Edit.Text) в PAnsiChar.
Это нужно для функции CopyFile, которая принимает только PAnsiChar в качестве имен файлов, а обычный OpenDialog выдает String значит Ansi.
Заранее спасибо.
Автор: EVD
Дата сообщения: 03.05.2006 20:58
Barakuda7
PChar(Edit.Text)
Автор: OdesitVadim
Дата сообщения: 03.05.2006 20:58
PAnsiChar(Edit1.text) не пробывал?
Автор: EVD
Дата сообщения: 03.05.2006 21:20
OdesitVadim
прям брейн-ринг какой-то


Кто-нибудь работал с JvRuntimeDesign из JEDI?
1. Как в нем создавать, например, кнопку с определенными координатами, а не указывая местоположение мышью?
2. Как в нем выделять несколько компонентов, как в Delphi? Выделяется только 1 компонент по клику мыши на нем.
Автор: EvSeKo
Дата сообщения: 04.05.2006 02:51
OdesitVadim
Спасибо за разъяснение.

Ещё меня интересует такой вопрос.
Для распараллеливания вычислений я использую 2 потока. На моём компе с одноядерным процессором никакого выигрыша в скорости нет по сравнению с одним, т.к. с приоритетом Highest они выполняются поочерёдно.
Вот выдержки из кода:


Код:
...
for i:=0 to k-1 do potoki[i].Priority:=tpHighest;
...
for i:=0 to k-1 do potoki[i].Resume;
Автор: mutmut
Дата сообщения: 04.05.2006 06:10
Хотелось бы узнать как зделать вот такую вещицу.
Существует окно браузера в нем загружена страница с рисунком.
Как выдернуть из страници картинку? Если мы обратимся к картинке http://sdsd.ru/dfdf.jpg то будет уже другая картинка, а не та что подгрузилась в браузер.

Подскажите как это реализовать, а то я даже пока и не знаю с какой стороны подойти к этому вопросу.

Зарание Благодарен.
Автор: SergeBS
Дата сообщения: 04.05.2006 07:56
SZap
Разберись с терминологией. По стандарту master-detail - это когда есть справочник - одна таблица, а в другую пишутся значения из этого справочника. В одно поле. А у тебя аж 3. Какое писать-то будешь? Все 3 в одно затолкаешь?
Автор: SZap
Дата сообщения: 04.05.2006 08:20
SergeBS
Может я не так выразился....
Попытаюсь по другому:
Есть две таблицы (t1-Master,t2-Detail) обе имеют общие поля (a(data), b(string), c(numeric)) по которым необходимо их связать.
Как с использованием Halcyon это можно реализовать?
При использовании tDBF все получается замечательно...
Автор: RostY
Дата сообщения: 04.05.2006 08:34
reenoip
делай не в акцесе, а в Дельфе:
имеешь открытый АДОДатаСет, или другой датасет, жмешь на нем правую кнопку - Филдс едитор - Адд алл филдс - добавит тебе все фоля которые физически есть в датасете, потом жмешь Нью Филд - задаешь имя, тип (type), FieldType: Calculated, жмешь Ок и пишешь обработчик ОнкалкФилдс.
Автор: SergeBS
Дата сообщения: 04.05.2006 09:32
SZap

Цитата:
обе имеют общие поля (a(data), b(string), c(numeric)) по которым необходимо их связать.

Не должно такого быть. Топай на DelphiKingdom, читай статью Тенцера "Естественные ключи против искусственных". После чего избавляйся от дублирования полей. У тебя в результате должно получиться одно ключевое поле в каждой таблице. В одной будет primary, во второй foreign. Или вообще связка типа dblookupfields. Т.е. в одной таблице - уникальный ключ и поле так сказать смысловое (например код улицы - название улицы), а в другой - только значения ключей из первой (например про жителей - храним коды улиц, на которых они живут). Halcyon тут не при чем.


Цитата:
При использовании tDBF все получается замечательно...

Тем хуже для tDbf. Раз он ошибки проектирования прячет.

Короче либо из справочника 2 поля уйдут и добавится ключ, либо этот справочник развалится на 3, и в каждом из 3 будет ключ и расшифровка.
Автор: SZap
Дата сообщения: 04.05.2006 10:16
SergeBS
Наверное правильно будет начать с того, что структура исходных таблиц стандартизирована. На их структуру я повлиять не могу. А технология мастер-детаил, на мой взгляд, может (и даже должна) иметь возможность связывать таблицы по нескольким полям. По крайней мере, штатное програмное обеспечение для заполнения этих таблиц написанное на Clipper работает замечательно. Более того, мне не понятен смысл добавления некого дополнительного эксклюзивного ключевого поля в таблицу если в ней и так уже существует набор полей, значения которых неповторяются (одновременно всех).
Попытаюсь привести пример:
таблица1 (t1) - счета
таблица2 (t2) - список товаров в счетах
связь происходит по полям: НомерСчета, ДатаСчета

Если я правильно понял, то у мня не получится это сделать с помощью Halcyona?
Автор: Sleepwalker
Дата сообщения: 04.05.2006 12:07
mutmut
видимо, никак. даже браузеры картинку скачивают заново, если им указываешь "сохранить изображение." во всяком случае, в интерфесе IHTMLImgElement никаких возможностей для этого нет. поиск по рунету показал, что проблема общая и нигде четкого решения нет.


вообще, по ходу поиска наткнулся...
http://www.soft32.ru/delphi.shtml
на большинство стандартных вопросов там есть ответы. это всем.
Автор: SergeBS
Дата сообщения: 04.05.2006 12:52
SZap

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

Статью ты точно не прочитал, а зря. Поскольку именно из-за отсутствия такого поля у публики и появляются проблемы. Как у тебя, например. И именно поэтому я естественных ключей не применяю вообще. Во избежание проблем.


Цитата:
написанное на Clipper работает замечательно

Кто тебе сказал, что в Clipper - мастер-детайл? Я поставлю фильтр на 2 таблицу по данным первой - и все. Кстати в Halcyon я именно этим финтом пользуюсь, если DBLookup неудобен.
Дальше: строковое поле в качестве связки - мягко говоря оригинально. Особенно если оно где-нибудь с(15) и больше. В такую сказку я просто НЕ ВЕРЮ.

Цитата:

Если я правильно понял, то у мня не получится это сделать с помощью Halcyona?

Не знаю. Не могу вспомнить, делал ли я в Halcyon связку больше чем по 1 полю. А в том что сейчас делаю - вообще связок и индексов (пока) нет. DbLookup-ы. Индексы появятся, чтобы порядок просмотра задавать. Специфика такая.

Автор: OdesitVadim
Дата сообщения: 04.05.2006 13:01
EvSeKo

Цитата:
т.к. с приоритетом Highest они выполняются поочерёдно

Без особой необходимости указывать высокий приоритет не стоит. Ту и в операционки могут проблемы начаться (особенно, если RealTime поставить)

Цитата:
А будут ли потоки выполняться одновременно на двуядерном процессоре?

А это уже как решит операционная система. Правда ей можно дать указания, как распаралеливать твои потоки по процессорам. Но 9х с двухпроцессорными кажеться неработают совсем.
2000 - нормально работает с 2 процессорами
ХР - вроде с 4.
Но на двухпроцессорной системе ты никогда не получишь двукратного прироста. Максимум 1.5-1.7, и то, при правильном проектировании. Почему? Потоки обращаются к одной и той же оперативной памяти, а в твоём случае (вспоминаю про SetLength) наверное очень активно. Но память то общая. Поэтому, пока один процес пишет в память, то другому будет заблокирован доступ к памяти. Некоторые умные материнские платы могут разруливать оптимально эти ситуации (например, если блоки не пересекаются, то запись можно разрешить обоим).
Поэтому, если твои потоки используют большие обёмы памяти, то выиграша ты не получиш. В лучшем случае будет просто работать как и на одном процесоре.

Но есть выход. Можно воспользоваться кешем процессора. Если объём данных для обработки мал, то он может поместиться в кеше и как следствия производительность поднимается в несколько раз. В общем это очень тонкая вещь. Один очень хороший человек по имени Крис Касперски (не путать с антивирусом) пишет очень класные статьи. Также у него есть и на эту тему. Вот здесь http://kpnc.opennet.ru/. Скачай и почитай. Не пожалееш.
Автор: SergeBS
Дата сообщения: 04.05.2006 13:09
Sleepwalker

Цитата:
вообще, по ходу поиска наткнулся...
http://www.soft32.ru/delphi.shtml

Чудак-человек. Там же внизу ссылка, откуда это надергано. Причем в оригинале (DelphiWorld) - горааздо больше. Больше 5000 статей. И спецоболочка для удобства навигации. Весьма удобно.
Автор: MetFan
Дата сообщения: 04.05.2006 15:01
У меня такой вопрос: Имеется форма на ней одна кнопка и один эдит. Как сделать так чтобы после нажатия кнопки на форме строился график функции записанной в эдите? (не знаю как произвести правильное чтение из эдита).
Автор: mutmut
Дата сообщения: 04.05.2006 15:28
Sleepwalker
Не совсем так. Если я делаю сохранить на картинке в браузере то он берет именно эту картинку(скорей всего из кеша). Можно сделать эти действия програмно но как то блин это не красиво Хотелось бы как то по иному...
Автор: RostY
Дата сообщения: 04.05.2006 15:58
MetFan
Тебе нужно что-то типа парсера-интерпритатора формул (компонент, или юнит), который по формуле вычислял бы значение. У меня валяется какой-то TZmathedit (1998 года выпуска), думаю можешь найти что-то поновее.
кусочек описания:

TZMathedit component : install z_parser.pas as usual and it will appear on samples palet page
usage = same as TEdit with additional public property :

TextValue:string; yields the numerical result of expression in Text, or the errormessage.
Example :
drop a TZmathedit on the Form with a Tlabel, put in the onchange eventhandler :
label1.caption:=Zmathedit1.textvalue;
, see the parsing in action while you type (in IDE, put break on exception off)

Or when you want to use the numerical result, you do NOT need the component.
In fact, the component is only a demo of the more flexible non-class functions :

EvaluateToFloat(s0:string):extended; yields result as a float, use together with
GetEvaluationError:string; returns errormessage, or emptystring if result was valid
Example
value:=EvaluateToFloat('sqrt(0.5*exp(x)-0.5*exp(y))');
if GetEvaluationError<>'' then label1.caption:=GetEvaluationError;

define parameters x/y/z as Parameter.x:= ... etc.

Additional notes
Those who like hyperbolic-/error-/gamma-functions (and so on), can easily expand the available
functions by adding them in the indicated location in the source code.

Вычисляеш функцию и рисуешь график в каком-то чарте.

Добавлено:
посмотрел - есть даже демошка с графиками (даже 3Д). Могу намылить. Пиши в ПМ

Добавлено:
и здесь можеш посмотреть: _http://www.freedownloadscenter.com/Business/Accounting_Tools/Magic_Graph.html

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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