ronald используй UDP протокол поищи готовые реализации локальных чатов, также в делфи есть компонент для рбаоты с UDP дейтаграммами.
Регулярные выражение Доброе время суток Не могу никак с помощью регулярного выражения найти "Как меня зовут?" без тегов Code: <td nowrap>Как меня зовут: </td> Искал с помощью <td nowrap>(.+?)</td>, но много находит. Как можно еще добавить в поиск ": " (без кавычек) Помогите пожалуйста
так юзай квантификатор - ноль и более вхождений - * и тогда будет чтото типа <td nowrap>(.+?)*:</td> чтото подобное или <td nowrap>(.+?)*\:</td>
Нужно получить текст с программы,а точнее с TPanel'и. Вообщем эта программа представляет из себя чат,и когда пользователь пишет текст в чате,данный текст потом отображается в TPanel. Мне необходимо этот текст получить из моей программы,для этого я юзаю FindWindow и FindWindowEx и SendMessage с WM_GETTEXT,но они к сожалению не дают желаемого результата. Кто знает как осуществить это пишите Вот скрины: -------------------------------------------------------------------------------------- А вот код:
Как можно сделать проверку нескольких Edit (например 6-ти) на наличие символов. кроме как вот так: if length(edit1.text) and .... length(edit6.text)=0 then showmessage('заполните все поля!');
Или вот так, + все едиты и те которые будут создаватся в реалтайм. Code: procedure TForm1.Button1Click(Sender: TObject); Var i : integer; begin try for i:=0 to Form1.ComponentCount - 1 do if Form1.Components[i] is TEdit then if ((Form1.Components[i] as TEdit).Text='') then ShowMessage('Заполните все поля!'); except end; end;
вопрос ответы че за бред? вы где это увидели? Вот код который сделает то что нужно (P.S. строгое оформление кода у меня пошло от C#)
Возможно ли сделать на дельфи такую программу которая бы открывала сессию обмена данными с портом сервера? На подобие как есть функция в essential net tools Raw socket.
А если не трудно где можно найти именно по этой теме материал? Или может есть у кого нибудь уже готовые тулзы?
Во первых, не правильно цетировал мой код!!! Во вторых: TComponent - класс является предком для всех классов, которые хотят быть компонентами. Правда, этот класс может быть предком только для невизуальных компонентов, т.е. невидимых во время выполнения, а на форме видимых только в виде квадратика с иконкой! Конечно у тебя безупречный код проверки из всех компонентов формы наличие эдитов и наличия в них текста!!! И такое видели... !!! Куда нам, таким тупарям, до тебя!!!!!
это почему же? Просмотрим дерево наследования для TMemo, визуальный компонент, чтож начнем: TMemo = class(TCustomMemo); -> TCustomMemo = class(TCustomEdit); -> TCustomEdit = class(TWinControl); -> TWinControl = class(TControl); -> TControl = class(TComponent). Приехали... сарказма не понял...
а в делфи вроде так =) Code: Турбо Паскаль позволяет вам вставить команды на языке ас- семблера непосредственно в ваш исходный код на Паскале. Это может оказаться очень полезным как для взаимодействия со специальными устройствами, так и для написания очень быстрых процедур, которые используют средства поддержки Турбо Паскаля. Машинный код, который вы хотите вставить в вашу программу, должен идти после ключевого слова inline и быть заключен в круг- лые скобки. Каждый байт или слово отделяются обратным слешем. Простая арифметика может быть реализована с помощью знаков плюс и минус. Символ "*" определяет ячейку, на которую указывает счетчик адреса. Весь код вводится в виде чисел, то есть вы не можете ис- пользовать мнемоник как в ассемблере. Так как inline - это пред- ложение, оно оканчивается точкой с запятой. Например, inline ($C9/$E900); будет вводить три байта в вашу программу: $C9, $E9 и 0.
Чат Вот исходник локального чата: [.code] unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdUDPServer, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient, StdCtrls, WinSock; type TForm1 = class(TForm) Edit1: TEdit; Memo1: TMemo; Button1: TButton; IdUDPClient1: TIdUDPClient; IdUDPServer1: TIdUDPServer; procedure Button1Click(Sender: TObject); procedure IdUDPServer1Status(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin IdUDPClient1.Send(Edit1.Text); end; procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); var StringFormatedStream: TStringStream; s:String; begin StringFormatedStream := TStringStream.Create(''); StringFormatedStream.CopyFrom(AData, AData.Size); Memo1.Lines.Add(ABinding.PeerIP+' '+StringFormatedStream.DataString); ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, s[1], Length(s)); StringFormatedStream.Free; end; end. [.code] При компиляции в 7-ой дельфи вылезают ошибки: [Error] Unit1.pas(21): Undeclared identifier: 'TIdSocketHandle' [Error] Unit1.pas(50): ')' expected but identifier 'PeerIP' found [Error] Unit1.pas(50): 'END' expected but ')' found [Error] Unit1.pas(18): Unsatisfied forward or external declaration: 'TForm1.IdUDPServer1Status' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' Помогите плз с этой х***й разобраться