Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите переписать код с Паскаля на С++, чат со статьи (UDP чат) 
V
    Опции темы
Sergio
Дата 24.11.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



Здраствуйте помогите "переконвертировать" код с Паскаля на С++. Спасибо зарание. Вот код:

Код
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;

PM MAIL ICQ   Вверх
dumb
Дата 24.11.2006, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Код

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  IdUDPClient1->Send(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdUDPServer1UDPRead(TObject *Sender,
      TStream *AData, TIdSocketHandle *ABinding)
{
  AnsiString s;
  TStringStream *StringFormatedStream = new TStringStream(); //Инициализация
  StringFormatedStream->CopyFrom(AData, AData->Size); //Копирование из простого потока в строковый.
  s = StringFormatedStream->DataString;
  Memo1->Lines->Add(ABinding->PeerIP+" "+s);  //Вывод полученного сообщения
  ABinding->SendTo(ABinding->PeerIP, ABinding->PeerPort, s.c_str(), s.Length()); //Перенаправление сообщения дальше
  delete StringFormatedStream;    //Освобождение строкового потока.
}
//---------------------------------------------------------------------------

PM MAIL   Вверх
Sergio
Дата 24.11.2006, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



dumb, какаято ошибка выбивает здесь:
Код

TStringStream *StringFormatedStream = new TStringStream(); //Инициализация

мол не может что-то найти  smile 
PM MAIL ICQ   Вверх
dumb
Дата 25.11.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Код

TStringStream *StringFormatedStream = new TStringStream(""); //Инициализация

упс. вообще, мог бы и сам догадаться... smile

edit: тьпу, вместо тэгов кода вставил quote... smile

Это сообщение отредактировал(а) dumb - 25.11.2006, 11:29
PM MAIL   Вверх
Sergio
Дата 25.11.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

Репутация: 1
Всего: 1



dumb, а что означают те кавычки?
PM MAIL ICQ   Вверх
dumb
Дата 26.11.2006, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Sergio,
1. находясь в билдере, поставь курсор на слово TStringStream
2. нажми F1
3. выбери один из вариантов (целесообразнее Visual Component Library Reference)
4. кликни зеленое слово Methods
5. кликни TStringStream

там все написано. smile

ps. только не надо говорить "я с инглишем плохо", как это многие делают. если хочешь программировать - учи.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.