| Autor |
Beitrag |
Xion
      

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)
|
Verfasst: 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
      
Beiträge: 42
windows xp sp2
Delphi 2005 personal
|
Verfasst: 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
      

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)
|
Verfasst: 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:
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 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
      

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)
|
Verfasst: 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
      

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)
|
Verfasst: Sa 21.10.06 11:05
 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
      

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)
|
Verfasst: Sa 28.10.06 12:10
in der Hoffnung, dass es mir einfällt, wenn ich es hier poste:
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
      
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)
|
Verfasst: 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
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: 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
      

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)
|
Verfasst: 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
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: 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
      

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)
|
Verfasst: 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
|
Verfasst: 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
      

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)
|
Verfasst: Fr 17.11.06 22:06
 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
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Sa 18.11.06 01:21
_________________ 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
      

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)
|
Verfasst: 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
      

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)
|
Verfasst: 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)
|
|
|