| seppel86 hat folgendes geschrieben: |
Wenn ich das Programm kompiliere krieg ich in der Zeile empfangen:= Delete(empfangen,1,1); immer die Meldung:
[Error] Unit4.pas(262): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
Was mach ich denn jetzt schon wieder falsch? |
ooh, mein fehler
muss nich
empfangen := delete(empfangen,1,1); heißen, sondern einfach
delete(empfangen,1,1);
zum zurückwandeln von deinen strings in integer kannst dir mal die funktionen StrToInt und Val angucken (--> Delphi Hilfe)... Wenn du die integers aber in strings umwandelst, werden die zu sendenden Daten größer (ein Integer ist 4 Byte groß, ein String mit einem Integer darin max. 10 Byte (je nachdem wie lang der string ist))... um das zu ändern kannst du auch einfach z.B. nen Record übers netz schicken... sieht dann z.B. so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| type TData = record id: byte; data: integer; end;
TChat = record id: byte; zeile: string; end; |
wenn du dann Daten schickst, nimmst du TData und wenn du Strinbgs schickst nimmst du TChat... Da musst du dann jeweils noch id richtig setzen (z.B. kannst du bei TData id immer 1 setzen und bei TChat immer 2 oder so)... der empfänger überprüft dann auch das erste Byte, das angekommen ist und weiß dann, welche Struktur (TData oder TChat) er verwenden muss
Aber wenn dir das zu hoch is und es dir wurscht is, ob da nu ein paar Bytes mehr oder weniger übers Netz gehn, kannst natürlich auch alles mit Strings machen

funzen solte das
MrSaint
Andrew S. Tanenbaum - Modern Operating Systems