Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Вниз

как получить инфу с сервера и вставить в клиент?   Найти похожие ветки 

 
BOBAKO   (2002-12-24 20:39) [0]

Воообщем вопрос в том чтобы получить имя Юзера с сервера и отправит его
на клиент и поместить в лабел1
код получения имени есть теперь не могли бы вы мне описать подробно как полученную инфу пихнуть в лабел1 в клиенте?
var osvi: TOSVersionInfo; si: TSystemInfo;
s:string;
dwResult, nsize: Cardinal;
ch : array[0..1000] of Char;
Бегин
GetUserName(ch, nsize);
ЕНД;

Помогите пожалусто если можно подробно...
Зарание благодарен спасибо!


 
BOBAKO   (2002-12-25 20:25) [1]

что народ ник то что ли не знает или лень помогать начинающим а?


 
Digitman   (2002-12-26 13:05) [2]

А что тебе непонятно ? Конкретно ?


 
BOBAKO   (2002-12-27 10:44) [3]

Ну я уже анписал что мне не понятно вот это имеено как осущиствить прочитай что я писал!


 
Reindeer Moss Eater   (2002-12-27 10:53) [4]

код получения имени есть теперь не могли бы вы мне описать подробно как полученную инфу пихнуть в лабел1 в клиенте?
Label1.Caption:=<Полученная инфа>;


 
BOBAKO   (2002-12-28 10:18) [5]

насчёт caption мне понятно а как организовать Полученная инфа что написать
вместо Полученная инфва мне вот эта самое валнует!
помогите пожалуста!


 
BOBAKO   (2002-12-30 20:15) [6]

ну МОГИТЕ ЖЕ НАРОД ИЛИ СТАТЬЮ ДАЙТЕ ПОЧИТАТЬ ПО ЭТОМУ ПОВОДУ ЧТОБ ПОДРОБНО
КАК МНЕ ВПИСАТЬ ПОЛУЧЕННУЮ ИНФУ В ЛАБЕЛ НА СЕРВЕРЕ?


 
Digitman   (2002-12-31 08:49) [7]


> пихнуть в лабел1 в клиенте?



> ВПИСАТЬ ПОЛУЧЕННУЮ ИНФУ В ЛАБЕЛ НА СЕРВЕРЕ


Все-то тебе "пихнуть" да "вписать")

А чем, собственно, сервер от клиента отличается в этом случае ? Да ничем !)

Есть просто два хоста, в каждый момент времени один из них явл-ся "передатчиком", другой - "приемником" информации. Кто из них в данный момент времени является "сервером", а кто "клиентом" - по барабану (логика установления коннекта между хостами тебе, видимо, известна и не интересует в контексте вопроса)

"Передачтик" выполняет sendbuf(ch, sizeof(ch)), "приемник" - receivebuf(ch, sizeof(ch))-функции. В результате успешной (!) передачи/приема в АП процесса-"приемника" появится заполненная копия структуры ch, с которой ты можешь делать все, что угодно - хоть в "лабел пихать", хоть "не в лабел", хоть "не пихать" вообще (таки советую не "пихать" что-то куда-то, а обрабатывать полученную инф-цию)


 
BOBAKO   (2003-01-02 22:04) [8]

Digitman
А как это будет выглядетьв моём случае?


 
BOBAKO   (2003-01-03 21:35) [9]

вот код из сервера:
if ch = "25" then
begin
serversocket1.Socket.SendBuf();
end;

вот здесь у меня мозги откл вообще что дальше если код получения инфы такой:

var osvi: TOSVersionInfo; si: TSystemInfo;
s:string;
dwResult, nsize: Cardinal;
ch : array[0..1000] of Char;
begin

GetComputerName(ch, nsize);
Label1.Caption:="Компьютер: "+ch;

помогите пожалусто разобраться и понять!


 
Reindeer Moss Eater   (2003-01-04 09:06) [10]

var ch : array[0..MAX_COMPUTERNAME_LENGTH] of Char;
nSize: DWord;
begin
nSize:=Succ(MAX_COMPUTERNAME_LENGTH);
GetComputerName(ch,nSize);
Caption:="Компьютер: " + StrPas(ch);
end;


 
BOBAKO   (2003-01-04 15:01) [11]

нет это я получаю имя своей машины а как получить имя машины на которой установлен сервер:
что тогда надо написать в сервере раз в клинте:
procedure TForm5.fcShapeBtn1Click(Sender: TObject);
var ch : array[0..MAX_COMPUTERNAME_LENGTH] of Char;
nSize: DWord;
begin
form1.lmdWavecomp4.Play;
nSize:=Succ(MAX_COMPUTERNAME_LENGTH);
GetComputerName(ch,nSize);
label2.Caption:="Имя компьютера: " + StrPas(ch);
end;

Пасиба,жду ответов!


 
Reindeer Moss Eater   (2003-01-04 15:06) [12]

нет это я получаю имя своей машины а как получить имя машины на которой установлен сервер:

Выполнить этот код на машине, на которой установлен сервер


 
BOBAKO   (2003-01-04 15:09) [13]

ну выполню но как мне его с сервера взять и запихнуть в лабел на Клиенте вот в чём вопрос!
обьясните пожалусто.


 
Reindeer Moss Eater   (2003-01-04 15:13) [14]

Получи на сервере. Передай на клиента. На клиенте прими и присвой свойству Caption/


 
BOBAKO   (2003-01-04 15:56) [15]

Получи на сервере. Передай на клиента. На клиенте прими и присвой свойству Caption/
----------
Вот прошу тебе обьясни мне как это сделать пожалусто,если можно подробнее.
Зарание благодарен.


 
Reindeer Moss Eater   (2003-01-04 16:02) [16]

как это сделать
Это можно сделать примерно тремя миллионами способов.
У тебя как сервер с клиентом общаются? Посредством чего?


 
BOBAKO   (2003-01-04 16:17) [17]

ну не знаю ща приведу несколько наименнований:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
ch := Socket.ReceiveText;
***
end;
это из сервера работает всё на стандартыных компонентах в кладке интернет...
если ещё что то надо напиши посмотрю...
И спасибо,за то что помогаешь!


 
BOBAKO   (2003-01-05 12:42) [18]

Помошь закончилась? :(


 
Be$   (2003-01-06 13:33) [19]

Чтобы твой клиент понял, что ему пришла какая-то конкретная информация (в твоем случае имя компа ли юзера) ему нужно в этом помочь. Для этого сервер должен будет отсылать не только саму полученную инфу, но и "название" её. Например:

ServerSocket1.Socket.Connections[0].SendText("Comp;"+Compname);

где Compname- результат функции определения имени компа.
Код функции на всякий пожарный напишу :)

function CompName: string;
var Size : cardinal;
pName : PChar;
BRes : boolean;
begin
Size := MAX_COMPUTERNAME_LENGTH + 1;
pName := StrAlloc(Size);
BRes := GetComputerName(pName, Size);
if BRes then
result:= StrPas(pName);
end;

Так вот...имя получили...вроде как отослали(с подсказкой-
"Comp"). :)) Теперь дело за малым: принять и обработать енто на клиенте.
Для этого пишем функцию определения "названиния"
полученной инфы. Она имеет очень сложный код, поэтому привожу его полностью :)

function InfoName(TextFromServer:string): string;
begin
Result:=Copy(TextFromServer,1,pos(";",TextFromServer)-1);
end;
Эта функция и выделит из всего хлама "название" инфы то бишь
нужное "Comp" и клиент прочитав его присвоет имя компа в желаемое место:

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
s:string;
begin
s:=Socket.ReceiveText;
...
if InfoName(s)= "Comp" then Label1.Caption:=s;
...
end;
Правда в Label1 попадет и само "Comp" но потрудись уже сам от этого избавиться. Это элементарно.


 
Cobalt   (2003-01-06 20:53) [20]

В общем, разрабатывай протокол обмена.
1) Выясняешь, чем у тебя будут обмениваться клиент и сервер
2) придумываешь для каждого типа операций код (1, 2, 3, 4 и т.д.)
3) пишешь структуры с объединениями, типа такого:
TMyRec = {packed?} record
TypeOfBuf: word; // Код данных, поясняющий, что ты пересылаешь
case TypeOfBuf of
1: s1: array[1..255] of char; //Name of Comp of Server
2: s2: array[1..255] of char; //Name of Comp of Client
3: t: TDateTime;
...
end;
end;
и
4) обмениваешься ими, и только ими.
При приеме читаешь данные в переменную того же типа (TMyRec), проверяешь код операции
(case TypeOfBuf of
......)
и - have FUN ^__^


 
BOBAKO   (2003-01-07 18:50) [21]

вроде бы тупые мои мозги заводятся а что теперь написать в
button.onclick*****
begin

если кнопка эта находитс на форме 5 и ламбел тамже а слиенть на первой форме?


 
BOBAKO   (2003-01-08 18:27) [22]

ну народ осталось не много помогите.


 
C#KA   (2003-01-09 09:39) [23]

УУУ...
BOBAKO пришли мне прогу а я поправлю
E-mail C#KA@PROST.RU



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.009 c
1-87563
maxi-mov
2003-02-16 23:14
2003.02.27
ScrollBar - как отследить изменение скрола?


3-87354
_pavel_
2003-02-11 09:23
2003.02.27
BD - справочник


14-87669
SergeN
2003-02-11 08:05
2003.02.27
Геометрия


1-87496
Анрей Фомичев
2003-02-15 21:59
2003.02.27
Работа с Таймером


3-87339
vdv
2003-02-11 05:13
2003.02.27
DBComboBox, как заблокировать ввод с клавиатры?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский