![]() |
Re: "Array of String" leeren
Dann sollte aber setlength gehn?
Delphi-Quellcode:
Var MyArray: Array of String;
SetLength(MyArray, 0); |
Re: "Array of String" leeren
Zitat:
Zitat:
|
Re: "Array of String" leeren
Das hab ich schon gesehn - aber es sollte dennoch gehn.
Vielleicht solltest du mal ein bissl vom Source zeigen, eventuell ist da ja ein anderer Fehler drin. |
Re: "Array of String" leeren
Tut mir leid, das habe ich nicht gesehen. Aber bei mir hat´s mit "SetLength" funktioniert:
Delphi-Quellcode:
Und mit "ZeroMemory":
procedure TForm1.Button1Click(Sender: TObject);
var s : array of string; i : integer; begin SetLength(s,10); for i := 0 to 9 do s[i] := Format('Eintrag %d',[i]); for i := low(s) to high(s) do Memo1.Lines.Add(s[i]); // Array leeren SetLength(s,0); // und mal gucken, dass nichts mehr da ist SetLength(s,1); // bei mir eine leere Box: ShowMessage(s[0]); end;
Delphi-Quellcode:
ging´s auch.
ZeroMemory(@s[0],high(s));
|
Re: "Array of String" leeren
Naja, sorry, aber bei mir geht das absolut nich :( Gibt es da nicht noch eine Lösung? :?
|
Re: "Array of String" leeren
Zitat:
b) Schreibe doch einmal was Du machen möchtest!! Eventuell ist eine StringList ja doch besser für dich. |
Re: "Array of String" leeren
Zitat:
Ich baue einen Chatbot für ICQ. Dieser hat Bedingungen (Fragen gestellt, hat diese UIN den Bot beleidigt usw.) So und jetzt muss ich Bedingungen aus einer "Datenbank" (INI-File) lesen und diese auswerten. Aber da die schöne Funktion Split (irgendwo mal in einem Tipps & Tricks-Verzecihnis gefunden, nachgeschrieben dann) immer nur an den Array of String anhängt, muss ich ihn leeren. Und deshalb brauche ich eine Funktion die ALLES in dem Array zurücksetzt, als währe er noch gar nicht definiert worden. Jetzt mal ein wenig Code:
Code:
Hoffe das der Code soweit verständlich ist ...
bedingok := 0;
splited2 := split(datenini.ReadString(IntToString(i), 'bedingungen', ''), '|'); for d:=0 to length(splited2)-1 do begin if not (splited2[d] = '') then begin // HIER müsste ich jetzt splited3 zurücksetzen ... splited3 := split(splited2[d], ':'); end; if splited3[1] = 'NONE' then begin splited3[1] := ''; end; if (ini.ReadString(UIN, splited3[0], '') = splited3[1]) then begin bedingok := bedingok + 1; end; end; |
Re: "Array of String" leeren
Nachvollziehen kann ich das nicht, den mit
Delphi-Quellcode:
wird splited3 überschrieben und nicht's angehängt.
splited3 := split(splited2[d], ':');
|
Re: "Array of String" leeren
Zitat:
|
Re: "Array of String" leeren
Die Funktion selber ist dabei doch egal, denn hier kommt es mal nur auf die Art der Zuweisung an:
Code:
Variable [color=red][b]:=[/b][/color] Funktion;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz