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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 103 104 105 106 107 108 109 110 111

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Delphi 2009 и выше - по остальным версиям есть соответствующая тема.
Вопросы вареза здесь не обсуждаются !!!
См. также:
Известные важные баги Delphi 2010:

Описание________________________________________________ Исправлено Решение/Альтернатива_____________________
  1. Внимание !  Деинсталляция D2010 нарушает работу D2007 и D2009 !  
При деинсталляции удаляются CC3280MT.DLL и CC3290MT.DLL из Windows\System32,   необходимые для работы D2007 и D2009 соответственно.
Сделайте резервные копии
  2. Code Formatter не работает, если не инсталлирован пакет моделирования.   В нем также присутствует множество багов. Используйте с осторожностью.   1.   JEDI CodeFormat 2.44 SVN Snapshot (~750Kb)   Требуются JCL и JVCL  
2.GExperts with Formatter
  3. Не работает F1 в Object Inspector Update 2   IDEFixPack 2.9 от Andreas Hausladen
(dev. snapshots)
  4. Если IDE начинает падать с сообщением "Out of resources", возможно, что поврежден .res файл проекта. Удалить его, запустить IDE, открыть проект - новый .res файл будет создан автоматически.
  5. В редакторе не работает Class Completion, если в декларируемом классе есть поля с шаблонами. Перед декларированием поля добавить public или private и т.д.
  6. TTrayIcon.ShowBalloonHint() не работает на ОС ниже Vista [QC 77561] Update 2 * Установить Update 2   * ИЛИ почитать о причинах и решении проблемы на форуме embarcadero и в QC   * ИЛИ воспользоваться альтернативой, например Cooltray 4.4.0
  ...      


Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 14:28 26-08-2009 | Исправлено: data man, 18:27 06-08-2010
Frodo_Torbins

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

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 23:35 03-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins, ну я опять загорелся игрушку сделать, она будет частично работать через инет, думал сделать все через IRC, т.к. имел дело уже с клиентской частью, сейчас больше склоняюсь к TCP, но ни то ни то не выходит.
 
Ниже исходники простейшего Клиента и Сервера отдельно.
В клиенте так же есть серверная часть но я ее отключил, пока не разберусь с подключением через инет.
http://zalil.ru/30074680
 
П.с.
Инет: ADSL (Провайдер ЮТК).
Delphi: XE
ОС: Winwows 7 x64

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 23:42 03-12-2010 | Исправлено: ZBEP, 00:31 04-12-2010
spasius



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
провайдер может предоставить статический IP? если да, то можно организовать сервер самому.

Всего записей: 695 | Зарегистр. 16-03-2009 | Отправлено: 23:46 03-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spasius, неа, мой провайдер может предоставить только высокий пинг, низкую скорость с периодическими попаданиями интернета за высокую цену.
 
П.с.
IP меняется после перезагрузки модема.

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 00:06 04-12-2010
zeugene



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
Для того, чтобы обращаться к хосту с динамическим IP-адресом существуют службы, подобные dyndns.com. Почитайте - там не сложно.
Чтобы запустить на хосте с ADSL IRC-сервер вам необходимо прокинуть наружу порт. По ссылке http://portforward.com/english/routers/port_forwarding/routerindex.htm можно посмотреть, как это делается на вашем модеме.
Если что-то непонятно, пишите. Но это, вообще-то, не имеет отношения к Delphi.

Всего записей: 51 | Зарегистр. 03-01-2003 | Отправлено: 05:27 04-12-2010
drog888



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
слышно что нибудь про update 2  для Rad Studio 2011?

Всего записей: 62 | Зарегистр. 12-01-2010 | Отправлено: 07:18 04-12-2010
zeugene



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
drog888
Судя по всему пока глухо: http://cc.embarcadero.com/reg/rad_studio

Всего записей: 51 | Зарегистр. 03-01-2003 | Отправлено: 11:11 04-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zeugene, спс, в ЛС написал
Просто я был не совсем в курсе этого, потому что раньше не было нужды в поднятии сервера, думал может как-то через делфи решается.
Потом уже вспомнил про белый IP (как написали).

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 11:36 04-12-2010 | Исправлено: ZBEP, 17:51 04-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Глупый вопрос.
Как нормально доставить сообщение от сервера к клиенту?
Точнее даже, как нормально принять.
Отправляю так:

Код:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var CIP,Msg:string;
begin
CIP:=AContext.Binding.PeerIP;
Msg:=TrimRight(AContext.Connection.IOHandler.ReadLn(enUTF8));
AContext.Connection.IOHandler.WriteLn(CIP+': '+Msg,enUTF8);
RichEdit1.Lines.add(CIP+': '+Msg);
end;

 
Принимаю:

Код:
var Msg:string;
begin
Msg:=TrimRight(IdTCPClient1.IOHandler.ReadLn(enUTF8));
RichEdit1.Lines.add(IdTCPClient1.IOHandler.ReadLn(enUTF8));

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

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 19:52 04-12-2010 | Исправлено: ZBEP, 20:23 04-12-2010
aidarsimon



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, не могу разобраться как записывать в реестр в бинарном виде. Нужно записать ключ, введенный в поле edit в реестр в бинарном виде.
Т.е. мы вводим ключ mw56-4btrg-s3sfc-mlb8k-1xgnk а в реестр это должно добавиться как "KEY"=hex:c6,96,43,17,95,a5,58,fc,8f,30,9d,a1,d0,cd,0b

Всего записей: 3749 | Зарегистр. 06-09-2008 | Отправлено: 22:10 04-12-2010 | Исправлено: aidarsimon, 22:10 04-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aidarsimon, вот StrToHex и HexToStr
Подправь как тебе надо (если нужны запятые вместо пробелов).
 

Код:
 
function HEXSTR(Sou: string): string;
Var t:integer; sl:string;
begin
With TStringList.Create Do
try
Text:=StringReplace(Sou,#32,#13#10,[rfReplaceAll]);
sl:='';
For t:= 0 to Count - 1 Do
sl:=sl+Chr(StrToInt('$' + Strings[t]));
Result:=sl;
finally
Free;
end;
end;
 
function StrHex(source: string): string;
var i:integer; c:Char; ste:string;
begin
ste:='';
for i:=1 to Length(source) do
begin
c:=source[i];
ste:=ste+IntToHex(integer(c),2)+' ';
end;
result:=ste;
end;
 

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 22:52 04-12-2010 | Исправлено: ZBEP, 23:13 04-12-2010
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aidarsimon
 
А можно так:
Код:
var
  S: string;
  Reg: TRegistry;
 
begin
  Reg := TRegistry.Create;
  S := 'mw56-4btrg-s3sfc-mlb8k-1xgnk';
  Reg.RootKey:=HKEY_CURRENT_USER;
  if reg.OpenKey('Test', True) then
    Reg.WriteBinaryData('KEY', pointer(S)^, Length(S)*SizeOf(S[1]));
 
  FreeAndNil(Reg);
end;


----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 23:09 04-12-2010
aidarsimon



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
data man
спасибо, но у меня видимо странная ситуация, ключ то ли шифруется, то ли я недопетриваю  
Вобщем постараюсь объяснить с помощью скриншотов.
 
http://i058.radikal.ru/1012/1f/6b960f1a4414.png
http://s008.radikal.ru/i304/1012/ab/6e9a079482f6.png
 
Не могу уловить зависимость, как ключ  
PT49 6D69W RZ8KJ KTE8E 3ZD0D превращается в 49,9a,64,93,57,d4,e5,34,7f,1c,68,1b,f1,b9,0e
и как  
FZ77 YWM9W 6FB7F 9Y2TW KZSTZ превращается в 4d,79,e3,9f,ef,f2,5e,75,bc,dc,fe,b3,f9,f3,42

Всего записей: 3749 | Зарегистр. 06-09-2008 | Отправлено: 18:40 05-12-2010 | Исправлено: aidarsimon, 18:42 05-12-2010
Frodo_Torbins

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

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:19 05-12-2010
aidarsimon



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

Всего записей: 3749 | Зарегистр. 06-09-2008 | Отправлено: 19:26 05-12-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aidarsimon
Ну у вас в реестре размер данных меньше чем размер строки с ключом. Из этого можно сделать вывод, что данные сжимаются.
В комплекте с делфи идет библиотека Zlib, и если целевая прога написана на делфи, то скорее всего именно эту библиотеку и использует. Хотя точно быть в этом уверенным нельзя, нужно ковырять эту прогу пейдами, отладчиками и прочими хакерскими тулзами. В общем если у вас нету исходников, и вы не можете связаться с автором, то вы попали

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 19:44 05-12-2010
volser

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

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 20:23 05-12-2010
aidarsimon



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser
я там уже год назад спрашивал - походу там не шарят ))

Всего записей: 3749 | Зарегистр. 06-09-2008 | Отправлено: 20:33 05-12-2010
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По моему глупому вопросу насчет принятием сообщений клиентом идеи есть?
Как проверить клиенту, что ему что то пришло, а не висеть в ожидании того, придет что-нибудь или нет?
В IRC это все обрабатовалось в OnRaw, а в IdTCPClient, даже если исключать таймаут, то почему-то происходит дисконнект.
В общем необходимо что-то вроде проверки наличия сообщения, а затем принимать через ReadLn или вообще другим способом..

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 20:58 05-12-2010 | Исправлено: ZBEP, 20:59 05-12-2010
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
Для приема используйте тцпсервер. Клиент и сервер прекрасно уживаются в одном приложении.
Вообще конечно это можно было бы объединить в одном компоненте. Посмотрите что еще есть в наборе инди, может вам какой другой компонент больше подойдет.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 21:54 05-12-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 103 104 105 106 107 108 109 110 111

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru