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

Вниз

отправка сообщений по сети   Найти похожие ветки 

 
kaon   (2004-11-04 15:37) [0]

Здаравствуйте, уважаемые мастера! Проблема такая, пытаюсь отправить сообщение на русском языке, а присылается какая-то абракадабра!На английском все нормально! Помогите разобраться
вот код:(взят из интернета)

function NetSend(dest, Source, Msg: string): Longint; overload;
type
  TNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar;
    buf: PWideChar; buflen: Cardinal): Longint;
   stdcall;
var
  NetMessageBufferSend: TNetMessageBufferSendFunction;
  SourceWideChar: PWideChar;
  DestWideChar: PWideChar;
  MessagetextWideChar: PWideChar;
//   MessagetextWideChar: PChar;
  Handle: THandle;
begin
  Handle := LoadLibrary("NETAPI32.DLL");
  if Handle = 0 then
  begin
    Result := GetLastError;
    Exit;
  end;
    @NetMessageBufferSend := GetProcAddress(Handle, "NetMessageBufferSend");
  if @NetMessageBufferSend = nil then
  begin
    Result := GetLastError;
    Exit;
  end;

  MessagetextWideChar := nil;
  SourceWideChar      := nil;
  DestWideChar        := nil;

  try
    GetMem(MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 2);
    GetMem(DestWideChar, 20 * SizeOf(WideChar) + 2);
    StringToWideChar(Msg, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
    StringToWideChar(Dest, DestWideChar, 20 * SizeOf(WideChar) + 1);

    if Source = "" then
      Result := NetMessageBufferSend(nil, DestWideChar, nil,
        MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)
    else
    begin
      GetMem(SourceWideChar, 20 * SizeOf(WideChar) + 1);
      StringToWideChar(Source, SourceWideChar, 20 * SizeOf(WideChar) + 1);
      Result := NetMessageBufferSend(nil, DestWideChar, SourceWideChar,
        MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
      FreeMem(SourceWideChar);
    end;
  finally
    FreeMem(MessagetextWideChar);
    FreeLibrary(Handle);
  end;
end;

function NetSend(Dest, Msg: string): Longint; overload;
begin
  Result := NetSend(Dest, "", Msg);
end;

function NetSend(Msg: string): Longint; overload;
begin
  Result := NetSend("", "", Msg);
end;

{$R *.dfm}

procedure TForm1.btnSendClick(Sender: TObject);
const
  NERR_BASE = 2100;
  NERR_NameNotFound = NERR_BASE + 173;
  NERR_NetworkError = NERR_BASE + 36;
  NERR_Success = 0;
var
  Res: Longint;
  sMsg: string;
begin
  //Res := NetSend("LoginName", "Your Message...");
  Res:=NetSend(tTo.Text,tMessage.Text);
  case Res of
    ERROR_ACCESS_DENIED: sMsg := "user does not have access to the requested information.";
    ERROR_INVALID_PARAMETER: sMsg := "The specified parameter is invalid.";
    ERROR_NOT_SUPPORTED: sMsg := "This network request is not supported.";
    NERR_NameNotFound: sMsg := "The user name could not be found.";
    NERR_NetworkError: sMsg := "A general failure occurred in the network hardware.";
    NERR_Success: sMsg := "Message was successfully sent!";
  end;
  ShowMessage(sMsg);
end;


 
-=SS=- ©   (2004-11-04 15:48) [1]

Пользуйся
winExec(Pchar("net send "+kompName+" "+MSG),HW_Hide); И не парься


 
kaon   (2004-11-04 16:03) [2]

Спасибо!



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

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

Наверх




Память: 0.45 MB
Время: 0.039 c
9-1089726856
Bakulin
2004-07-13 17:54
2005.01.23
Где взять спрайтов 2D?


9-1097928324
Werwolf
2004-10-16 16:05
2005.01.23
2д под DelphiX


14-1105145752
Kerk
2005-01-08 03:55
2005.01.23
---|Ветка была без названия|---


3-1103123842
alextov
2004-12-15 18:17
2005.01.23
Надо в каждой ячейке DBGrida иметь свой выпадающий список.


6-1099294965
Ivolg
2004-11-01 10:42
2005.01.23
Http





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский