Autor Beitrag
daywalker0086
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Di 12.04.11 15:56 
Hallo Leute ich habe gerade einen komoischen Fehler
Das ist der Code um den es geht:
ausblenden Delphi-Quelltext
1:
2:
if HG[2] = '/' then
      Delete(HG,2,1);


Es erscheint folgender Fehler:
[Fehler] Hauptunit.pas(330): E2066 Operator oder Semikolon fehlt

das ist die Zeile: Delete(HG,2,1);
kommentiere ich sie aus funktioniert alles.
Das ganze ist gekommen obwohl ich ganz woanders etwas am Code verändert habe, was ich auch schon wieder raus genommen habe.
Woran kann denn das liegen?
beastofchaos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 247
Erhaltene Danke: 4



BeitragVerfasst: Di 12.04.11 16:02 
Also wenn HG ein String ist, dann ist der Fehler reichlich komisch... :/
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Di 12.04.11 16:04 
HG ist eine String,
echt komisch, das kam auf einmal ohne das ich was daran verändert habe...

Edit:
der Fehler kommt überall wo ich delete stehen habe, also wenn ich irgendwo
delete('test',2,1);
schreibe kommt der gleiche Fehler...
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Di 12.04.11 16:10 
Hey,

guck mal 2-3 Zeilen oben drüber. Kann sein das da was fehlt. Oder hast du vlt ne Funktion definiert, die auch delete heißt?

Mfg Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Di 12.04.11 16:16 
Oh mann... :roll:
ich hatte in einem popupmenü einen Button mit dem Namen delete definiert :autsch:
bitte den threat ganz schnell löschen :oops:

Danke für den Tip, da ich den button ja nicht sehe wenn das popupfenster zu ist, hätt ich da noch lange gesucht.
beastofchaos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 247
Erhaltene Danke: 4



BeitragVerfasst: Di 12.04.11 16:28 
Glaub ich auch, oder du hast diese StandardUnit zu den String-Funktionen/Prozeduren aus der uses-Klausel entfernt

edit: upps, ist ja shcon geklärt :P
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 12.04.11 16:32 
Da zeigt sich wieder wie wichtig eine sinnvolle Benennung von Variablen und Komponenten ist. ;-)
beastofchaos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 247
Erhaltene Danke: 4



BeitragVerfasst: Di 12.04.11 17:29 
genau, um richtig übersichtlich zu arbeiten, WÜRDE ich den Namen einen Bustaben voraussetzen: BDelete(Button), VDelete(Variable), CDelete usw.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 12.04.11 17:52 
Die ungarische Notation wird in der Regel nicht verwendet. Ich selbst nutze diese ausschließlich bei Komponenten (auch da finden das viele falsch, aber ich halte es für deutlich übersichtlicher).

Dennoch kann man auch mit BDelete nicht viel anfangen. Denn es sagt nichts darüber aus was gelöscht werden soll. Deshalb würde solch ein Menüeintrag bei mir z.B. mniDeleteSelectedText heißen.

Klar ist es erst einmal mehr Tipparbeit, aber dafür kann man den Quelltext später sehr viel leichter lesen und durch die Syntaxergänzung kann man längere Bezeichner ja auch schnell schreiben.

Für diesen Beitrag haben gedankt: beastofchaos