|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.03.2013, 00:42 | #1 |
Регистрация: 21.05.2009
Сообщений: 4
|
Клиент-Сервер
подскажите пожалуйста как сделать чтоб сервер возвращал слова только равные заданому N
|
23.03.2013, 00:51 | #2 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
Что вы имеете ввиду под N?
|
23.03.2013, 00:53 | #3 |
Регистрация: 21.05.2009
Сообщений: 4
|
N- это количество букв которые должны быть в слове
|
23.03.2013, 01:24 | #4 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
сервер уже написан?
|
23.03.2013, 01:31 | #5 |
Регистрация: 21.05.2009
Сообщений: 4
|
да вот
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; ServerSocket1: TServerSocket; procedure FormCreate(Sender: TObject); procedure ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientDisconnect(Sende r: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ServerSocket1.Open; end; procedure TForm1.ServerSocket1ClientConnect(S ender: TObject; Socket: TCustomWinSocket); begin memo1.Lines.Add('Êëèåíò ïîäêëþ÷èëñÿ.') end; procedure TForm1.ServerSocket1ClientDisconnec t(Sender: TObject; Socket: TCustomWinSocket); begin memo1.Lines.Add('Êëèåíò îòêëþ÷èëñÿ.') end; procedure TForm1.ServerSocket1ClientError(Sen der: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin memo1.Lines.Add('Îøèáêà :'+inttostr(ErrorCode)); ErrorCode:=0; end; procedure TForm1.ServerSocket1ClientRead(Send er: TObject; Socket: TCustomWinSocket); var s,ks: string; i,j,k: integer; begin s:=Socket.ReceiveText; memo1.Lines.Add('Ïðèíÿòî >>>>> '+s); if pos('N:',s)=1 then begin delete(s,1,2); ks:=copy(s,1,pos('#',s)-1); k:=strtoint(ks); delete(s,1,pos('#',s)); memo1.Lines.Add(s); end; i:= 1; {íà÷èíàåì ñ ïåðâîãî ñèìâîëà â ñòðîêå} j:= 0; {ñíà÷àëà äëèíà ñëîâà ðîâíà íóëþ} while i<=length(s) do begin if (s[i] <> ' ') and (s[i] <> '.') and (s[i] <> ',') and (s[i] <> '?') and (s[i] <> '!') and (s[i] <> '-')then begin {åñëè î÷åðåäíîé ñèìâîë íå ïðîáåë} inc(j);{óâåëè÷èâàåì äëèíó ñëîâà} inc(i);{ïåðåõîäèì ê ñëåäóþùåé áóêâå} end else begin if j <> k then begin {åñëè äëèííà ñëîâà <= ' ks '} delete(s,i-j,j+1); {âûðåçàåì âìåñòå ñ ïðîáåëîì ïîñëå ñëîâî} i:= i-j; j:= 0; {îáíóëÿåì äëèíó ñëîâà} end else begin i:= i+1; j:= 0; end; end; end; Socket.SendText(s); end; end. но тут удаляет слова меньше или равно N Надо изменить |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент | RODNOC | Мультимедиа в Delphi | 17 | 03.10.2010 22:31 |
Клиент->Сервер->Клиент | RODNOC | Работа с сетью в Delphi | 0 | 25.09.2010 11:49 |
сервер+клиент+клиент на телефон | Razyiller | Работа с сетью в Delphi | 3 | 01.04.2010 20:10 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |