Autor Beitrag
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: So 17.09.06 12:58 
ich habe ein riesen-problem, dass eigentlich alle lösen müssen, die einen ICQ-Client schreiben: wie kann ich auf die nachfrage vom Server antworten, ob ich noch online bin? Denn: ich bekam heute eine offline-message von einer zeit, als ich on war?? => ich war zwar eigentlich noch on, der Server hat mich aber rausgeschmissen, weil ich anscheinend keine Verbindung verlangt habe. Da frage ich euch, was tun?

//grrr, erst suche ich ewig rum, dann frag ich hier, und dann find ichs immer doch noch... also die antwort ist ICQClient.SendKeepAlive; (hört sich zumindest passend an)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
mangaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 42

windows xp sp2
Delphi 2005 personal
BeitragVerfasst: Mi 20.09.06 00:22 
hi,
also wie es aussieht kommst du mit der demo gut klar.
ich kenne die torry-kompos net und auch nicht die icq demo, trozdem interessiert mich dein späterer source-code.
du hast es ja schon angedeutet, aber plz poste es mal, wenn du soweit bist ;)

gn8
mangaka
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Di 26.09.06 19:30 
hi

1. ich geb nur ungern Code frei
2. das Programm kann mehrere Sachen (Wecker/ICQ/Ordnerverwaltung...), daher ist viel unwichtiger Code für dich dabei.
3. Es kommt mir immerso vor, als kämen manche Nachrichten nicht bei mir an...(das war mindestens einmal so, und das war SEHR ärgerlich, ich trau dem ganzen nichtmehr so. Vielleicht lags aber auch am ICQ-Server ;) )
4. Mein ICQ besteht nur daraus, dass man Msgs verschicken kann. Keine Dateien, keine Infos, kein Xtraz

an sich, guck dir mal den Threat an: www.delphi-forum.de/...59726&highlight=
wenn du einen Client schreiben willst, dann ist das ganz einfach, da alles schon von der Compo gemacht wird.

hier der betreffende Code:

ausblenden volle Höhe XiCQon - part of the Nynx-program
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
procedure TNynxForm.ShowICQ;
begin
 PositionizePanel(PICQ);
 ShownPage:='ICQ';
 ICQListOn.Left:=5;
 ICQListOn.Top:=64;
 ICQListOn.Height:=round((PICQ.Height-ICQListOn.Top-ICQListOn.Left)/2)-5;
 ICQListOn.Width:=PICQ.Width-2*ICQListOn.Left-30;
 ICQListOn.Enabled:=True;
 ICQListOff.Left:=5;
 ICQListOff.Top:=ICQListOn.Top+ICQListOn.Height+5;
 ICQListOff.Height:=ICQListOn.Height;
 ICQListOff.Width:=ICQListOn.Width;
 ICQListOff.Enabled:=True;
 ICQEdit.Width:=ICQListOn.Width;
 ICQEdit.Left:=ICQListOn.Left;
 ICQEdit.Enabled:=True;
 ICQSend.Width:=ICQListOn.Width;
 ICQSend.Left:=ICQListOn.Left;
 if ICQClient.LoggedIn=true then
  ICQSend.Enabled:=True

 else
  ICQSend.Enabled:=False;
 SizeICQMsgs;
 FillICQMsgs;
end;

procedure TNynxForm.ShowICQSettings;
begin
 PositionizePanel(PICQSettings);
 ShownPage:='ICQSettings';
 ICQLogin.Left:=5;
 ICQLogin.Top:=0;
 ICQLogin.Width:=round(PICQSettings.Width/2)-10;
 if ICQClient.LoggedIn=False then
 ICQLogin.Enabled:=True;
 ICQLogOff.Left:=ICQLogin.Left+ICQLogin.Width+10;
 ICQLogOff.Top:=ICQLogin.Top;
 ICQLogOff.Width:=ICQLogin.Width;
 if ICQClient.LoggedIn=True then
 ICQLogOff.Enabled:=True;
 ICQSignatur.Left:=5;
 ICQSignatur.Top:=30;
 ICQSignatur.Enabled:=True;
 ICQSignatur.Width:=PICQSettings.Width-2*ICQSignatur.Left;
 ICQProtokoll.Left:=5;
 ICQProtokoll.Enabled:=True;
 ICQProtokoll.Top:=ICQSignatur.Top+ICQSignatur.Height+5;
 ICQProtokoll.Width:=PICQSettings.Width-2*ICQProtokoll.Left;
 ICQProtokoll.Height:=PICQSettings.Height-ICQProtokoll.Top-ICQNR.Height-ICQPW.Height-3*5;
 ICQNr.Left:=5;
 ICQNr.Enabled:=True;
 ICQNr.Top:=ICQProtokoll.Top+ICQProtokoll.Height+5;
 ICQNr.Width:=ICQSignatur.Width;
 ICQPW.Left:=5;
 ICQPW.Enabled:=True;
 ICQPW.Top:=ICQNr.Top+ICQNr.Height+5;
 ICQPW.Width:=ICQSignatur.Width;
end;

procedure TNynxForm.ICQClientError(Sender: TObject; ErrorType: TErrorType;
  ErrorMsg: string);
begin                    
 Protokoll('Fehler: '+ErrorMsg);
 ShowMessage('Fehler: '+ErrorMsg);
end;

procedure TNynxForm.Protokoll(Msg: String);
begin
 ICQProtokoll.Lines.Add(Msg);
end;

procedure TNynxForm.BICQLoginClick(Sender: TObject);
begin
 ICQClient.Password:=ICQPW.Text;
 ICQClient.UIN:=strtoint(ICQNr.Text);
 ICQClient.Login;
 ICQClient.Status:=0;
 ICQLogoff.Enabled:=True;
 ICQLogin.Enabled:=False;
 Protokoll('logging in...');
end;

procedure TNynxForm.ICQLogOffClick(Sender: TObject);
begin
 ICQClient.Logoff;
 ICQLogoff.Enabled:=False;
 ICQLogin.Enabled:=True;
 Protokoll('logged off');
 ICQClient.ContactList.Clear;
 ICQClient.InvisibleList.Clear;   
 ICQClient.VisibleList.Clear;
end;

procedure TNynxForm.ICQClientServerListRecv(Sender: TObject;
  SrvContactList: TList);
var
  A: integer;
  UserInfo: TUINEntry;
begin
ICQClient.ContactList.Clear;
ICQListOff.Items.Clear;
ICQListOn.Items.Clear;
  if SrvContactList.Count > 0 then
   for A:= 0 to SrvContactList.Count-1 do
    begin
     UserInfo := PUINEntry(SrvContactList.Items[A])^;
     if UserInfo.CType = U_NORMAL then
      begin
        if ICQClient.AddContact(UserInfo.UIN) then
         ICQListOff.Items.Add(UserInfo.Nick+'('+inttostr(UserInfo.UIN)+')')
      end
     else if UserInfo.CType = U_INVISIBLE_LIST then
      begin
      //  ICQClient.AddContactInvisible(UserInfo.UIN)
      end
     else if UserInfo.CType = U_VISIBLE_LIST then
      begin
        ICQClient.AddContactVisible(UserInfo.UIN)
      end
     else
      ICQListOff.Items.Add('CType:'+inttostr(UserInfo.CType)+' '+UserInfo.Nick+'('+inttostr(UserInfo.UIN)+')');
    end;

 ICQClient.RequestOfflineMessages;
end;

procedure TNynxForm.ICQClientLogin(Sender: TObject);
begin
 Protokoll('connected with server');
 ICQClient.RequestContactList;
end;

procedure TNynxForm.ICQSendClick(Sender: TObject);
var A: integer; S: String;  ICQNR: integer;
begin
 S:=ICQEdit.Text;
 if ICQSignatur.Text<>'' then
 S:=S+#13+'_____'+#13+ICQSignatur.Text;

 for A:= 0 to ICQListOn.Items.Count-1 do
  if ICQListOn.Checked[A]=True then
   begin
    ICQNR:=strtoint(Copy(ICQListOn.Items[A],Pos('(',ICQListOn.Items[A])+1,Pos(')',ICQListOn.Items[A])-Pos('(',ICQListOn.Items[A])-1));
    ICQClient.SendMessage(ICQNR,S);
    Protokoll('sending: '+S+' to '+GetNameFromClientContactList(ICQNr));
   end;
 for A:= 0 to ICQListOff.Items.Count-1 do
  if ICQListOff.Checked[A]=True then
   begin
    ICQNR:=strtoint(Copy(ICQListOff.Items[A],Pos('(',ICQListOff.Items[A])+1,Pos(')',ICQListOff.Items[A])-Pos('(',ICQListOff.Items[A])-1));
    ICQClient.SendMessage(ICQNR,S);
    Protokoll('sending: '+S+' to '+GetNameFromClientContactList(ICQNr));
   end;
 ICQEdit.Text:='';
end;

function TNynxForm.GetNameFromClientContactList(UIN:integer):string;
var A: integer;
begin
Result:='';
 for A:= 0 to ICQListOn.Items.Count-1 do
  if Pos(inttostr(UIN),ICQListOn.Items[A])>0 then
   Result:=ICQListOn.Items[A];

 for A:= 0 to ICQListOff.Items.Count-1 do
  if Pos(inttostr(UIN),ICQListOff.Items[A])>0 then
   Result:=ICQListOff.Items[A];
end;

function TNynxForm.ConvertSmilies(Msg:String):String;
begin
 Result:=msg;
 Result:=StringReplace(Result,'<##icqimage0000>','*freu*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0004>','*traurig guck*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0008>','*zwinker*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage000c>','*Zunge rausstreck*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0007>','*heul*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0014>','*freu*',[rfReplaceAll]);
 Result:=StringReplace(Result,'*KISSED*','*Küsschen*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0005>','*geküsst*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage000a>','*rot werd*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage000e>','*Engelchen*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage000b>','*mund zukleb*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0003>','*wunder*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0009>','*schrei*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage000f>','*auslach*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0002>','*:|*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0001>','*oooh*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage000d>','*cool sei*',[rfReplaceAll]);
 Result:=StringReplace(Result,'[:-}','*musik hör*',[rfReplaceAll]);
 Result:=StringReplace(Result,'*TIRED*','*langweil*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0006>','*würg*',[rfReplaceAll]);
 Result:=StringReplace(Result,'<##icqimage0010>','*hör auf*',[rfReplaceAll]);
 Result:=StringReplace(Result,'*KISSING*','*küssen*',[rfReplaceAll]);
 Result:=StringReplace(Result,']:->','*böse*',[rfReplaceAll]);
 Result:=StringReplace(Result,'@}->--','*Blume geb*',[rfReplaceAll]);
 Result:=StringReplace(Result,'*THUMBS UP*','*Daumen hoch*',[rfReplaceAll]);
 Result:=StringReplace(Result,'*DRINK*','*Bier*',[rfReplaceAll]);
 Result:=StringReplace(Result,'*IN LOVE*','*verliebt*',[rfReplaceAll]);
 Result:=StringReplace(Result,'@=','*bumm*',[rfReplaceAll]);

end;

procedure TNynxForm.ICQClientMessageRecv(Sender: TObject; Msg, UIN: string);
begin
 Msg:=ConvertSmilies(Msg);
 Msg:=RTF2Plain(Msg);
 AddICQMsg(GetNameFromClientContactList(strtoint(UIN))+':'+#13+Msg,'Msg');
 Protokoll(GetNameFromClientContactList(strtoint(UIN))+': '+Msg);

 Windows.Beep(2500,50);
 Windows.Beep(1500,50);
 Windows.Beep(500,50);
end;

procedure TNynxForm.ICQClientOfflineMsgRecv(Sender: TObject;
  DateTime: TDateTime; Msg, UIN: string);
begin
 Msg:=ConvertSmilies(Msg);
 Msg:=RTF2Plain(Msg);
 AddICQMsg(DatetoStr(DateTime)+' '+Timetostr(DateTime)+' '+GetNameFromClientContactList(strtoint(UIN))+' '+UIN+':'+#13+Msg,'OffMsg');
 Protokoll(DatetoStr(DateTime)+' '+Timetostr(DateTime)+' '+GetNameFromClientContactList(strtoint(UIN))+': '+Msg);

 Windows.Beep(1000,50);
end;

procedure TNynxForm.AddICQMsg(Msg,Typ: String);
var A: integer;
begin
 for A:= 11 downto 0 do
  begin
   if A>0 then
    begin
     ICQMsg[A].Msg:=ICQMsg[A-1].Msg;
     ICQMsg[A].Typ:=ICQMsg[A-1].Typ;
    end
   else
    begin
     ICQMsg[A].Msg:='('+DatetoStr(Now)+'-'+TimetoStr(Now)+') '+Msg;
     ICQMsg[A].Typ:=Typ;
    end;
  end;
 FillICQMsgs;

end;

procedure TNynxForm.FillICQMsgs;
var A: integer;
begin
 for A:= 0 to 11 do
  begin
   if (ICQMsg[A].Msg<>''then
    begin
     ICQMsg[A].Shape.Visible:=True;
     if FileExists(ICQMsg[A].Typ+'.bmp'then
      begin
       ICQMsg[A].Img.Picture.LoadfromFile(ICQMsg[A].Typ+'.bmp');
       ICQMsg[A].Img.Visible:=True ;
       ICQMsg[A].Img.Hint:=ICQMsg[A].Msg;
       ICQMsg[A].Img.ShowHint:=True;
      end
     else
      begin
       ICQMsg[A].Img.Visible:=False;
       ICQMsg[A].Shape.Hint:=ICQMsg[A].Msg;
       ICQMsg[A].Shape.ShowHint:=True;
      end;
    end;
  end;

end;

procedure TNynxForm.SizeICQMsgs;
var  A: integer;
begin
 for A:= 0 to 11 do
  begin         
   ICQMsg[A].Shape.Left:=PICQ.Width-25;
   ICQMsg[A].Shape.Top:=A*21+8;  
   ICQMsg[A].Img.Left:=ICQMsg[A].Shape.Left+2;
   ICQMsg[A].Img.Top:=ICQMsg[A].Shape.Top+2;
  end;
end;

procedure TNynxForm.CreateICQMsgs;
var  A: integer;
begin
 for A:= 0 to 11 do
  begin
   ICQMsg[A].Shape:=TShape.Create(NynxForm);
   ICQMsg[A].Shape.Visible:=False;
   ICQMsg[A].Shape.Parent:=PICQ;
   ICQMsg[A].Shape.Brush.Color:=$00FFAAAA;
   ICQMsg[A].Shape.Width:=20;
   ICQMsg[A].Shape.Height:=20;

   ICQMsg[A].Img:=TImage.Create(NynxForm);
   ICQMsg[A].Img.Parent:=PICQ;
   ICQMsg[A].Img.Visible:=False;
   ICQMsg[A].Img.Width:=16;
   ICQMsg[A].Img.Height:=16;
   ICQMsg[A].Img.Stretch:=True;
   ICQMsg[A].Img.Proportional:=True;
   ICQMsg[A].Img.Transparent:=True;   
   ICQMsg[A].Img.Center:=true;
  end;
end;

procedure TNynxForm.ICQClientStatusChange(Sender: TObject; UIN: string;
  Status: Cardinal);
var A: integer;
begin
 for A:= 0 to ICQListOff.Items.Count-1 do
  if Pos(UIN,ICQListOff.Items[A])>0 then
   begin
    ICQListOn.Items.Add(ICQListOff.Items[A]);
    AddICQMsg(ICQListOff.Items[A]+' online','On');
    Protokoll(ICQListOff.Items[A]+' online');
    ICQListOff.Items.Delete(A);
    Windows.Beep(10000,10);
    Exit;
   end;
end;

procedure TNynxForm.ICQClientUserOffline(Sender: TObject; UIN: string);
var A: integer;
begin
 for A:= 0 to ICQListOn.Items.Count-1 do
  if Pos(UIN,ICQListOn.Items[A])>0 then
   begin                       
    ICQListOff.Items.Add(ICQListOn.Items[A]);
    AddICQMsg(ICQListOn.Items[A]+' offline','Off');
    Protokoll(ICQListOn.Items[A]+' offline');
    ICQListOn.Items.Delete(A);
    Windows.Beep(10000,10);
    Exit;
   end;
end;

procedure TNynxForm.TiICQTimer(Sender: TObject);
begin
 if ICQClient.LoggedIn=true then
  ICQClient.SendKeepAlive;
end;

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 20.10.06 15:00 
mir sieht diese Komponente sehr unzuverlässig aus. Ich habe das starke Gefühl, dass einige Nachrichten nicht bei mir ankommen (aber das gabs auch schon im original ICQ-Client) und dann hab ich herausgefunden, als ich "bye an alle" geschickt hab, dass er das "bye" abgeschnippelt hat. Jetzt setz ich ein " " davor, das schneidet er aber nicht ab. Bin momentan wieder mitm Original ICQ on, da ich dem ganzen irgendwie nichtmehr trau. Villeicht alles mein Fehler, aber ich find kein :( . Hat irgendwer auch einen Client geschrieben und ist der Meinung, dass es an mir liegen muss? Weil mein eigenes Prog find ich scho besser als der normale ICQ-Client.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 21.10.06 11:05 
:autsch: :motz: das gibts nicht. Jetzt hab ich das Problem schon so lang, kaum poste ich es hier als Frage, fällts mir ein. Also: Ich hab deswegen manche Nachrichten nicht bekommen weil sich mein Client abgemeldet hat (bevor ich die KeepAlive proc gefunden hatte) mein Client hats aber nicht angezeigt (weil ichs halt nicht anzeigen lasse). Dann hab ich jemanden was geschrieben, mein Client hat dadurch die Verbindung wieder aufgebaut, hat aber nicht nach den OfflineMessages gefragt, da ich das nur beim Login tu. Somit waren die ganzen Nachrichten dazwischen weg. (Ich hoff mal dass das der Fehler war, dann ist er wenigstens jetzt nichmer drin)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 28.10.06 12:10 
in der Hoffnung, dass es mir einfällt, wenn ich es hier poste: :lol:

die *Schimpfwort* von ICQ haben irgendwas gemacht, dass ich mit meinem Client nicht mehr online kann. Da kommen immer Fehlermeldungen, und zwar entweder 'Falsches Passwort' (stimmt garnicht, außerdem würde er mich dann nach dem 3. mal für ne weile sperren) und 'Defektes Login-Packet empfangen'. Find ich irgendwie fies. Oder liegt das an mir?

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Sa 28.10.06 12:21 
Das wird öfters gemacht, weil die versuchen wollen, nicht ICQ-eigene Clients auszusperren. Was denkst du, warum es bei Trillian und Miranda öfters Updates bei den Protokollmodulen gibt? Das OSCAR Protocol ist ja nicht offiziell öffentlich, sondern nur via Reverse-Engineering an die Öffentlichkeit gelangt.

Gruß alias5000

_________________
Programmers never die, they just GOSUB without RETURN
Calyptus
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 386

Win Xp Prof
D3, D6 Pers, D7 Ent
BeitragVerfasst: Sa 28.10.06 13:09 
Hallo,
also für deine Sache mit dem LCD würde ich dir empfehlen 'nur' ein Miranda Plugin zu schreiben, und nicht einen ganzen Client. Denn dann musst du dich auch nur um einen kleinen Teil kümmern, der ganze Rest wird ziemlich zuverlässig von den Miranda Entwicklern gemacht.

Das hier könnte dir Helfen: artfedorov.ru/miranda/historypp/

_________________
Luft- und Raumfahrtechnik an der Uni Stuttgart
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 28.10.06 14:23 
@calyptus: ich bin nicht der mit dem LCD ;) ich benutz die Compo TICQClient und die läuft normal prima und macht mir auch fast alles. Und das gute ist halt, dass ich es in mein anderes Prog integrieren kann. Nun müsste sich jemand hinsetzen und die Compo updaten. :( Dein Link scheint mir, als sei das auch ein großteils fertiger Client...den man noch bearbeiten kann, aber kann ich den auch in mein Prog aufnehmen? Wie die Compo?

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Calyptus
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 386

Win Xp Prof
D3, D6 Pers, D7 Ent
BeitragVerfasst: So 29.10.06 06:12 
Ne das ist einmal ein blanko Plugin und ein History Plugin, beide für Miranda

_________________
Luft- und Raumfahrtechnik an der Uni Stuttgart
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: So 29.10.06 10:26 
www.artfedorov.ru/wikka/HistoryPP hat folgendes geschrieben:

Advanced contact’s history with

* Find-as-you-type
* Customizible styles
* Instant filtering
* Export to html, xml, txt
* View all conversations with the contact in separate tree


addons.miranda-im.or...=viewfile&id=543 hat folgendes geschrieben:

+ Translation support
+ Password protection
+ New "Copy Text" menu item, copies plain message body (text)
+ Ctrl+R now does "Reply Quoted". There's no menu item because this feature in miranda is buggy. See Hotkeys section in readme for shortcuts
* "Options" menu item added to "Additional" drop-down menu
- Fixed bug, when crash on Select All, Delete
- Bug when closing history window before find window, now there's no exception thrown
- "Show Event Icons" is always uchecked when Options window opens
- Added horizontal scrollbar to memo control in Event Details window


hört sich für mich irgendwie nach einem fertigen Client an...gibts da irgendwo sources, wie man darauf zugreift usw?

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
backdraft
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 16.11.06 14:38 
Hier ist eine gefixte TICQClient Komponente, die wieder nach der letzten Änderung verbinden kann.
Grüße Oliver
Einloggen, um Attachments anzusehen!
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 17.11.06 22:06 
:autsch: ich dreh noch mal durch. Nach dem ich jetzt ca. 30 min rumgwürgt hab, kommt immernoch der Fehler 'Eigenschaft ICQServerViaHTTP existiert nicht' :(

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
rizla
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Sa 18.11.06 01:21 
vllt findest ja in den sourcen was:
sourceforge.net/projects/ticqlib/
oder eben hier:
sourceforge.net/projects/moeicq/

:r!a:

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 18.11.06 13:56 
Hi

aber die ICQLib ist ja von 2004 steht da. Ich hab nur irgendwie Probleme mit der Compo oben...da bekomm ich immer den Fehler.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Fr 01.12.06 16:01 
nachdem ich jetzt den Fehler weghab (hab mich grad mal kurz hingesetzt und das Problem gleich gesehen: die Eigenschaft gibts halt nichtmehr, deswegen hab ich das Feld geleert, scho gings) kommt jetzt wieder der Fehler "Defektes Login-Packet empfangen"...

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)