Здравствуйте, Гость
Среда, 20.09.2017, 04:14
Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » помогите пожалуйсто
помогите пожалуйсто
z1pp0Дата: Воскресенье, 05.02.2012, 16:51 | Сообщение # 1
Ранг 1
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
Понадобилось в ICQClient компаненте что бы 3 Edit присылалось на мой ICQ вот в принципе получилось но оно присылает 3 сообщениями.

код

ICQClient1.SendMessage(397706531,Edit1.text);
ICQClient1.SendMessage(397706531,Edit2.text);
ICQClient1.SendMessage(397706531,Edit3.text);

Подскажите как это побьеденить в 1 сообщение с разделителем примерно";" пример "Edit1;Edit2;Edit3"

Заранее всем блогодарен.
 
skycarДата: Воскресенье, 05.02.2012, 20:48 | Сообщение # 2
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
Надо конкатенировать эти свойства Edit'ов, ну то есть тексты вместе склеить.

Code

var S: string; //Например объяви сперва такую переменную
...
S:=Edit1.Text + ';' + Edit2.Text + ';'+ Edit3.Text;
ICQClient1.SendMessage(123456789, S);

Плюс суммирует численные значения, а строки склеивает. wink


Сообщение отредактировал skycar - Воскресенье, 05.02.2012, 20:48
 
z1pp0Дата: Воскресенье, 05.02.2012, 21:04 | Сообщение # 3
Ранг 1
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ICQClient, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
ICQClient1: TICQClient;
procedure Button1Click(Sender: TObject);
procedure ICQClient1Login(Sender: TObject);
procedure ICQClient1MsgAck(Sender: TObject; UIN: String; ID: Word);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ICQClient1.UIN:=номер аськи; //Номер аськи с кторой отсылаем
ICQClient1.Password:='пароль'; //пароль той аськи
icqclient1.Login(); //конект
end;

procedure TForm1.ICQClient1Login(Sender: TObject);
begin
var S: string; //Например объяви сперва такую переменную <---- тут ошибку дает тогда
S:=Edit1.Text + ';' + Edit2.Text + ';'+ Edit3.Text;
ICQClient1.SendMessage(123456789, S);
end;

procedure TForm1.ICQClient1MsgAck(Sender: TObject; UIN: String; ID: Word);
begin
icqclient1.Disconnect; //отключаемся от аськи
end;

end.
_________________________________________________________________________________________________
ошибка
[Ошибка] Unit1.pas(41): Statement expected but 'VAR' found
[Ошибка] Unit1.pas(42): Identifier redeclared: 'S'
[Ошибка] Unit1.pas(42): ',' or ':' expected but '+' found
[Ошибка] Unit1.pas(42): ',' or ':' expected but '.' found
[Ошибка] Unit1.pas(42): ',' or ':' expected but '.' found
[Ошибка] Unit1.pas(43): ',' or ':' expected but '.' found
[Ошибка] Unit1.pas(43): ',' or ':' expected but '(' found
[Ошибка] Unit1.pas(43): Identifier redeclared: 'S'
[Ошибка] Unit1.pas(44): '.' expected but ';' found
[Фатальная ошибка] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
 
skycarДата: Воскресенье, 05.02.2012, 21:07 | Сообщение # 4
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
Нельзя объявлять переменные внутри процедуры или функции после begin, перенеси её объявление ДО ключевого слова begin
 
z1pp0Дата: Воскресенье, 05.02.2012, 21:11 | Сообщение # 5
Ранг 1
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
S:=Edit1.Text + ';' + Edit2.Text + ';'+ Edit3.Text;
теперь в этом беда?
 
skycarДата: Воскресенье, 05.02.2012, 21:14 | Сообщение # 6
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
Какую ошибку получаешь?

Добавлено (05.02.2012, 21:14)
---------------------------------------------
Да вроде бы всё правильно. Запомни, что переменные и константы можно объявлять только вне пределов begin...end

 
z1pp0Дата: Воскресенье, 05.02.2012, 21:18 | Сообщение # 7
Ранг 1
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
[Ошибка] Unit1.pas(41): Identifier redeclared: 'S'
[Ошибка] Unit1.pas(41): ',' or ':' expected but '+' found
[Ошибка] Unit1.pas(41): ',' or ':' expected but '.' found
[Ошибка] Unit1.pas(41): ',' or ':' expected but '.' found
[Ошибка] Unit1.pas(42): Type expected but 'BEGIN' found
[Фатальная ошибка] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

_______________________________________________
код
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ICQClient, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
ICQClient1: TICQClient;
procedure Button1Click(Sender: TObject);
procedure ICQClient1Login(Sender: TObject);
procedure ICQClient1MsgAck(Sender: TObject; UIN: String; ID: Word);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ICQClient1.UIN:=564564153; //Íîìåð àñüêè ñ êòîðîé îòñûëàåì
ICQClient1.Password:='qwerty'; //ïàðîëü òîé àñüêè
icqclient1.Login(); //êîíåêò
end;

procedure TForm1.ICQClient1Login(Sender: TObject);
VAR S: Integer; //Íàïðèìåð îáúÿâè ñïåðâà òàêóþ ïåðåìåííóþ
S:=Edit1.Text + ';' + Edit2.Text + ';'+ Edit3.Text;
begin
ICQClient1.SendMessage(397706531, S);
end;

procedure TForm1.ICQClient1MsgAck(Sender: TObject; UIN: String; ID: Word);
begin
icqclient1.Disconnect; //îòêëþ÷àåìñÿ îò àñüêè
end;

end.

Добавлено (05.02.2012, 21:18)
---------------------------------------------
Может можеш дать кусок кода который правельный с малым поеснением просто 1 раз работаю с этим компанентом.

 
skycarДата: Воскресенье, 05.02.2012, 21:20 | Сообщение # 8
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
Нужно только объявлять переменную вне begin..end, а все операции с ней делаются уже внутри wink И зачем ты сделал её Integer типа, она должна быть строковой - string. Integer - это же целочисельный тип.

Code
procedure TForm1.ICQClient1Login(Sender: TObject);  
  VAR S: string;
begin
  S:=Edit1.Text + ';' + Edit2.Text + ';'+ Edit3.Text;   
  ICQClient1.SendMessage(397706531, S);  
  end;
 
z1pp0Дата: Воскресенье, 05.02.2012, 21:24 | Сообщение # 9
Ранг 1
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
Прости за тупость просто целый день с ней бодаюсь спасибо! помогло! Награду дал!

может можно взять твою аську или ВК если потребуеться помощь?
 
skycarДата: Воскресенье, 05.02.2012, 21:25 | Сообщение # 10
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
Да я редко захожу в интернет в последнее время, вот сегодня один из немногих дней. Не ждать же тебе днями ответа smile
 
z1pp0Дата: Воскресенье, 05.02.2012, 21:26 | Сообщение # 11
Ранг 1
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
biggrin ок всеравно спасибо!

А литературы нет на тематику Delphi 7?
 
skycarДата: Воскресенье, 05.02.2012, 21:29 | Сообщение # 12
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
Ха, да полно. Вот на этом же сайте. http://delphidevelop.ru/load/2/
Хотя я тебе помог, тема исчерпалась и мы теперь флудим-оффтопим, а это плохо...
 
Ig@re4egДата: Среда, 08.02.2012, 09:44 | Сообщение # 13
Ранг 1
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
народ нужна помощь!!!! нужен поисковик в СУБД
 
Форум » Все о Delphi » Начинающим » помогите пожалуйсто
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2017
Хостинг от uCoz