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

» Вопросы по Delphi (все версии) - часть 4

Автор: ShIvADeSt
Дата сообщения: 07.04.2008 01:26
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=8142&start=0#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [ more ] дабы уменьшить размер поста.
Автор: anfilat
Дата сообщения: 07.04.2008 09:27
Erazer
А функция IsUTF8String из самого Дельфи не подойдет?
Автор: junik
Дата сообщения: 07.04.2008 11:44
Добрый день !
Скажите пожалуйста, есть такая проблема. У нас проекты ведутся с использованием пакетов. Причем некоторые делаются на Делфи 6 СП 2, а некоторые просто на Делфи 6 без обновлений. Можно ли сделать так, чтобы на машину установить 2 версии Делфи 6, одну без обновлений, а другую с сервис паком?
Автор: TohaDub
Дата сообщения: 07.04.2008 13:11
Подскажите плиз, сам туплю что то, функцию проверки число введено или нет.
Автор: Maks150988
Дата сообщения: 07.04.2008 18:42
Может мне кто-нибудь поможет с созданием меню? =) Никак не могу понять как же строчку грабить из пункта...
Автор: Mandor Sawall
Дата сообщения: 08.04.2008 08:25
TohaDub
if TryStrToInt(Edit1.Text, iValue) then...
соответствено есть TryStrToFloat() и т.д. (SysUtils)
Угадал о чем вопрос?
Автор: Maks150988
Дата сообщения: 09.04.2008 21:56
Может здесь кто-нибудь занимался разработкой плагинов? Или подскажите прямые вебссылки откуда можно качнуть примеры реализации. Нужно вот что: программа ищет в каталоге длл файлы и тупо вызывает у каждой из них функцию иницализации или опроса имени плагина и добавляет в менюшку. Мы тыкаем в менюшку на пукнт плагина и запускается такой-то плагин. Вот с реализацией меню хреново дело...
Автор: Erazer
Дата сообщения: 09.04.2008 23:05
anfilat

Цитата:
А функция IsUTF8String из самого Дельфи не подойдет?
подойдет , но чет я не могу найти ее, в каком модуле прописана на подскажешь ?
Автор: anfilat
Дата сообщения: 10.04.2008 08:54
Erazer

Цитата:
в каком модуле прописана на подскажешь ?

WideStrUtils.pas в D2005. Если нет такого - пиши в ПМ, перешлю
Автор: Dimoniusis
Дата сообщения: 10.04.2008 13:04
Maks150988 а что там сложного то? В общем то ты все описал что делать Имя модуля можно в Hint например хранить... Ну или какой-то массив парралельный, где еще инфа о плаге.
Автор: lavren
Дата сообщения: 10.04.2008 13:40
Maks150988

Цитата:
Или подскажите

DLL и PlugIns
Автор: Erazer
Дата сообщения: 11.04.2008 01:39
Да там вообще бомба!!!

{ Detect valid UTF8 sequence. }

type
TEncodeType = (etUSASCII, etUTF8, etANSI);

function DetectUTF8Encoding(const s : UTF8String): TEncodeType;

{ if string contain real UTF8 character, return true. }

function IsUTF8String(const s : UTF8String): Boolean;

{ if string contain extended character (non-ascii char), return true;
if this function return true, It is better to add BOM head of file stream. }

function HasExtendCharacter(const s : UTF8String): Boolean;

{ If Stream/String has UTF8 BOM at the begin of stream, return TRUE.
Stream's position doesn't change. }

function HasUTF8BOM(S : TStream) : boolean; overload;
function HasUTF8BOM(S : AnsiString) : boolean; overload;

" Пасип большое!!!! хотя в справке делфей чет не увидел так же как и в инете.
Автор: TohaDub
Дата сообщения: 11.04.2008 06:20
Mandor Sawall

Цитата:
Угадал о чем вопрос?

Прямо в яблочко. Спасибо.

А подскажите еще, методику получения НИКОГДА не повторяющегося числа-счетчика, что бы не на одном в мире компьютере не повторилось.
Автор: RomanTim
Дата сообщения: 11.04.2008 06:41
TohaDub
Что значит "счетчика" - для чего планируется использовть?
Есть такая вещь как GUID, получается функцией CoCreateGuid, описана в модуле ActiveX, дает высокую вероятность "НИКОГДА"
Автор: OJIR
Дата сообщения: 11.04.2008 07:26
Здраствуйте.
Имеется информационная система ИС1. Есть приложение П1. Одна база используется в обоих приложениях. Возможно ли организовать следующее : в П1 в гриде открываются записи, делается выбор какой либо записи и надо сделать чтоб в ИС1 осуществлялся переход сразу на эту запись?

из ИС1 имеется только база данных, исходного кода нет.
из П1 есть исходник.

Если возможно такое, то как организовать?
Автор: ymg2000
Дата сообщения: 11.04.2008 08:28
OJIR
Первое, что приходит в голову - добавить в базу таблицу мониторинга нахождения на записи в П1. Поскольку в ИС1 нет исходников, то дальше многое зависит от того, как осуществляется навигация в ИС1. Если через хранимые процедуры, то, наверное можно подкорректировать соответствующие ХП, если непосредственно через Table-ы или SQL-то тут надо здорово повозиться с базой: например создать просмотры с именами таблиц, а имена таблиц изменить. Имеет ли смысл все это делать?
Автор: OJIR
Дата сообщения: 11.04.2008 10:54
ymg2000

Да и я смысла не вижу... А начальству вот НАДО.
Похоже придется убедить начальство, что ему этого не надо.

Автор: ekemov
Дата сообщения: 11.04.2008 17:16
А как прогу(службу) заставить в висте в треи иконку показывать. Использую делфи 2007, там свой компонент для этого. В ХР иконку видно а в Висте невидать. Как можно решить данную проблему?
Автор: TohaDub
Дата сообщения: 11.04.2008 17:56
RomanTim


Цитата:
Что значит "счетчика" - для чего планируется использовть?

Использоваться будет как счетчик идентификационный клиента в базе, а прога с базой будет использоваться на многих компьютерах одновременно, и удаленных офисов, и из них будет экспорт что бы в главном офисе был импорт. Я сделал дата+время, получается ну практически неповторяемый ключ, нооооо.
А как можно узнать в Time доли секунды? Или же как?
Автор: ellatrion
Дата сообщения: 11.04.2008 18:13
Помогите... Нужно сделать в универ программу... Задание звучит так!
"Разработка программного обеспечения для метода Жордана-Гаусса"
Т.е. как я понял, нужно написать прогу, чтоб устанавливать размерность матрицы и считать её методом Гаусса... Если кто поможет, буду очень признателен...
Автор: ymg2000
Дата сообщения: 11.04.2008 18:59
TohaDub

Цитата:
Я сделал дата+время, получается ну практически неповторяемый ключ...

И дата, и время могут сбиться - поэтому ключ не самый надежный.
Автор: RomanTim
Дата сообщения: 12.04.2008 18:10
TohaDub

Цитата:
Использоваться будет как счетчик идентификационный клиента в базе

Наверное это все-таки не счетчик, а идентификатор, используй GUID и не парься со временем.


Цитата:
А как можно узнать в Time доли секунды?

MilliSecondOf, а вообще почитай в справке что из себя представляет формат TDateTime
Автор: TohaDub
Дата сообщения: 12.04.2008 21:32
RomanTim

Цитата:
используй GUID

Но Гуид он на одной машине постоянно один и тот же или постоянно генерируется новый? Что т не пойму. В хелпе написано "Создание глобального уникального идентификатора".
Формат гуида {00000002-0000-0000-C000-000000000046}, да? В базе аксцеса тогда на полю этого счетчика-идентификатора ставить "Числовое-Код репликации", хотя тогда она округлит певые и последнии нули, что тоже не верно, тогда поставим String. Я прав?
Автор: RomanTim
Дата сообщения: 12.04.2008 23:51
TohaDub
Гуид всегда новый и разный, и на одной машине, и на разных.
На счет "округления нулей" не понял - ты что имел в виду? Попробовал сделать аксесовую базу с полем типа код репликации - номально туда гуиды ложатся.
Автор: TohaDub
Дата сообщения: 13.04.2008 06:59
RomanTim

Цитата:
На счет "округления нулей" не понял - ты что имел в виду? Попробовал сделать аксесовую базу с полем типа код репликации - номально туда гуиды ложатся.

Да, совершенно верно, аксес сам понимает что ему подсовывают гуид и вставляет его (покрайней мере 2007), а вот Дельфя 7 ругается:



Где поле в базе имеет свойство "Числовое" - "Код репликации", а переменная CID: TGuid.
Или может сделать текстовое поле в базе и не парится, но мне по этому коду искать надо.
Автор: RomanTim
Дата сообщения: 13.04.2008 08:10
TohaDub
А ты не в AsInteger присваивай, а в Value и GUID в строку переведи.
Вот так работет:
Код: var
guid: TGUID;
begin
CoCreateGuid(guid);

ADOQuery1.Append;
ADOQuery1.Fields[0].Value := GUIDToString(guid);
ADOQuery1.Fields[1].Value := 'zzz';
ADOQuery1.Post;
Автор: TohaDub
Дата сообщения: 13.04.2008 10:28
Спасибо, RomanTim, помогло.
Автор: mazutka
Дата сообщения: 14.04.2008 02:56
Ребята, такая проблема. У меня курсач по теме-локальная ася. Пишу на Delphi при помощи сокетов. Есть два приложения сервер и клиент. И возникли следующие вопросы:
1) Сервер может запускаться на любом компьютере, а потом всем подключаемым клиентам должен рассылать свой IP. После чего клиент его у себя прописывает и коннектится к серверу. Ну я так поняла, что это должен быть broadcast пакет. Если ошибаюсь, то исправьте меня. Искала я очень долго как это сделать...млин уже задолбалась...((( Ничего не понимаю..куда, что?
2) А также возникает вопрос как сделать, что бы при очередном запуске сервака он проверял есть ли в сети уже запущенный и если есть, говорил пользователю, что сервер запущен на другом компе???
3) Подключаемый клиент пишет свой ник и отправляет на сервер..там сервер проверяет на наличие подобных...если подобный есть, то подключение не осуществляется, если нет то подключение происходит...тоже не могу понять с помощью чего это сделать?

Помогите пожалуйста...если не сложно объясните подробно, что как....заранее благодарю_)
Автор: Bill_PHO
Дата сообщения: 14.04.2008 13:58
Не сталкивался ли кто с такой штукой в Delphi2007:
1) время от времени компоненты ряда TADOQuery, TADOStoredProc ... прячутся за пвнелью или гридом, на котором они лежат. Чтобы до них добраться нужно сдвигать панель, грид и т.п.
2) время от времени по компонентами исчезают Component Captions (в Options стоит галочка показывать их)

Очень неудобно.

Если кто сталкивался - то как поборол?
Автор: ALPeresvet
Дата сообщения: 14.04.2008 19:48
Здравствуйте, уважаемые. Выручите, пожалуйста советом. У меня такая проблемка:

Всё дело происходит в теле одной процедуры, с использованием GoTo. В случае нудовлетворительного результата выдаётся сообщение с предложением исправить ошибки автоматически:

if application.MessageBox('Попытаться исправить автоматически?',
'Ваша конфигурация не прошла проверку!',MB_YESNO+
MB_ICONQUESTION) = IDYES then
repeat
TFmu:= TFmu - 0.01;
Em.Text:= FloatToStr(TFmu);
goto LPodrez;
until TFOPodrez = True;

Неувязочка в том, что после каждого возвращения на вышестоящую метку и неудовлетворении условия при очередном TFmu:= TFmu - 0.01 - опять выдаётся это сообщение. Посоветуйте, пожалуйста, как мне это обойти можно, чтобы цикл продолжался в "тихом" режиме до получения удовлетворительного ответа.
Заранее спасибо.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Глобальные переменные в разных формах с++ builder 'a.


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