AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

"Delete" funktioniert nicht

Ein Thema von NeruvonoS · begonnen am 23. Okt 2009 · letzter Beitrag vom 23. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2   
NeruvonoS

Registriert seit: 22. Okt 2009
Ort: Sarstedt
19 Beiträge
 
Delphi 7 Enterprise
 
#1

"Delete" funktioniert nicht

  Alt 23. Okt 2009, 09:31
Hallo :)

Ich hab mal wieder nen Problem:
Ich wollte aus meinem Array (ein String) die ersten beiden Zeichen löschen.
Delete(Array[x],1,2); Die Fehlermeldung:
Zitat:
[Error] Hauptteil.pas(411): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
Weiß wer was mir das sagen möchte?

Grüße
NeruvonoS
  Mit Zitat antworten Zitat
NeruvonoS

Registriert seit: 22. Okt 2009
Ort: Sarstedt
19 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 09:35
Was mir einfällt:
Der Array ist vom Typ ein Record. Die Stelle im Record aber ein String.
Delete(Array[x].String,1,2); Das sollte aber eigentlich nicht stören oder?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.934 Beiträge
 
Delphi 12 Athens
 
#3

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 09:35
Zitat von NeruvonoS:
Weiß wer was mir das sagen möchte?
"Das ist nicht das Delete, das du meinst! Dein Delete heißt hier System.Delete"
Uwe Raabe
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 09:36
Vorausgesetzt, das Array ist ein Array[x..y] of String, dann mal über eine Zwischenvariable gehen:
Delphi-Quellcode:
var s: String;

  s:=Array[x];
  Delete(s,1,2);
  Array[x]:=s;
Das dürfte dann funktionieren
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
NeruvonoS

Registriert seit: 22. Okt 2009
Ort: Sarstedt
19 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 09:59
Okay ich machs doch mal etwas ausführlicher:
Button.Caption := Copy(Array[x].Name,3,pos(' ',System.Delete(Array[x].Name,1,2)); Ich Kopiere also den Array[x].Name ab der 3. Stelle(Da die ersten beiden = ' ' sind. und zwar soviele zeichen bis er das nächste ' ' findet. das nächste ' ' findet er aber nicht. Denn: pos sucht nur das 1. raus was er findet, dewegen möchte ich die ersten beiden zeichen kurzzeitig löschen und nicht ganz aus dem Array vernichten.
Zu System.Delete:
[Error] Hauptteil.pas(410): Incompatible types


Er sagt mir aber auch 'Incompatible types' wenn ich nur Delete nehme... ist also noch ein gedanken fehler drin...
  Mit Zitat antworten Zitat
NeruvonoS

Registriert seit: 22. Okt 2009
Ort: Sarstedt
19 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 10:02
Zitat von Progman:
Das dürfte dann funktionieren ;)
Leider auch nicht. Wäre ja auch sinnlos wenn man es anstatt in eine in 3 schreiben muss, damit es funktioniert.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#7

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 10:17
Wäre es möglich, dass man ein Array nicht "Array" nennen sollte und den Bezeichner "name" vermeiden sollte? Das könnte so manches durcheinander bringen. Vielleicht ist das der Grund?
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
NeruvonoS

Registriert seit: 22. Okt 2009
Ort: Sarstedt
19 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 10:19
der array heißt nicht array,
aber was ist an Name so schlimm?
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 10:23
"Name" ist eigentlich ein reserviertes Wort, da viele Objecte/Komponenten die Eigenschaft "Name" haben. Da kann der Compiler schon mal ins stolpern kommen
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.934 Beiträge
 
Delphi 12 Athens
 
#10

Re: "Delete" funktioniert nicht

  Alt 23. Okt 2009, 10:25
Die Deklaration von Delete lautet

procedure Delete(var S: string; Index: Integer; Count: Integer); Damit ist ersichtlich, daß Delete keinen String zurückgibt, sondern den String im ersten Parameter ändert.

Delphi-Quellcode:
tmpName := Array[x].Name;
Delete(tmpName, 1, 2);
N := pos(' ', tmpName) - 1; // wir wollen den Blank ja nicht mit kopieren!
if N < 0 then
  N := Length(tmpName);
Button.Caption := Copy(tmpName, 1, N); // "1", da tmpName die ersten Blanks nicht mehr enthält
Uwe Raabe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz