Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Initialwert bei string * 10

Initialwert bei string * 10
15.08.2008 11:03:00
Eddie
Hallo,
ich habe ein kleines Problem mit der Type Anweisung.
Ich definiere in der Struktur u.a.

Type TestTest
teststring As String * 10
End Type
Dim Test(500) As TestTest


Zu meinem erstaunen, steht in z.B. Test.teststring, bevor die Variable das erste mal beschrieben wurde, 10 Zeichen a Asc(0), anstatt wie in einem Buch beschrieben 10 Leerzeichen.
In meinem Fall ist dieses Verhalten relativ ärgerlich, da die Abfrage, ob die Var. schon mal beschrieben war, mittels


if trim(Test.teststring)="" then ...


nicht funktioniert. Denn wie ich das sehe, filtert Trim nur Leerzeichen aus, aber nicht ASC(0)
Dadurch muß ich für den Leertest jetzt eine ärgerlich Doppelabfrage machen


if trim(Test.teststring)="" or if trim(Test.teststring)=0 then ...


Das Ergebnis trim(Test.teststring)="" würde ja wohl eintreten, wenn die Var. schonmal beschrieben und wieder gelöscht wurde.
Mache ich dabei einen Denkfehler, oder geht es leichter zu machen? Kann man die komplette Struktur auf 10 * Space initialisieren, ohne extra eine Schleife zu machen?
Gruß Eddie

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Initialwert bei string * 10
15.08.2008 11:14:52
Eddie
ich hatte mich im letzten Code vertan, so ists richtig:

Trim(Test(1).teststring) = "" Or Asc(Right(Test(1).teststring, 1)) = 0


AW: Initialwert bei string * 10
15.08.2008 12:27:04
ransi
HAllo
Clean greift im Gegensatz zu Trim.
Replace geht auch.
Option Explicit


Dim Test(500) As TestTest

Type TestTest
    TestString As String * 10
End Type



Public Sub t()
MsgBox Replace(Test(0).TestString, Chr(0), "") = ""
MsgBox Application.Clean(Test(0).TestString) = ""
End Sub

ransi

Anzeige
AW: Initialwert bei string * 10
18.08.2008 18:32:19
Eddie
Besten Dank!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige