Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

Problem beim öffnen und speichern in VB

Diskussion: Problem beim öffnen und speichern in VB im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige Hi, ich habe noch 2 Probleme in VB : 1. Wie öffne und speichere ich eine Textdatei in VB ...

Antwort
Alt 13.05.05, 22:11   #1 (permalink)
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard Problem beim öffnen und speichern in VB

Anzeige

Hi,
ich habe noch 2 Probleme in VB:

1. Wie öffne und speichere ich eine Textdatei in VB?
2. Wie mache ich es in einem textfeld möglich, dass auch ein Absatz erstellt werden kann?

Hoffe auf Hilfe, mfg $oul

PS: Habe den benutzten Code aus diesem Thread: http://hackerboard.de/thread.php?threadid=17342

PPS: Sorry, hab etwas wichtiges vergessen, das Programm...Ist das File "Editor.zip"
http://alius.al.funpic.de/

__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 10:33   #2 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Hi $oul!

Schön zu sehen, dass du dir wenigsten die Mühe gemacht hast, den source zu suchen & einzufügen. ;-) Du hast allerdings vergessen die Komponente 'CommonDialog' hinzuzufügen.

Code:
Private Sub OPEN_Click()
    With CommonDialog1
Hier ist ja dein Verweis darauf. Mit CRT+T kannst du zusätzliche Komponenten einfügen, suche in der Liste nach CommonDialog. Danach musst du nur noch eine Instanz der Komponente auf deine Form ziehen und sie auch entsprechend 'CommonDialog1' benennen.

Beim öffnen liest du nur die 1. Zeile der Datei ein. Ich denke nicht, dass du das so wolltest. Du musst dem Programm mit 'Do Until EOF()' (Mache bis das File zu Ende ist..)
sagen, dasss er Zeile um Zeile einlesen soll. Hier der Code:

Code:
Private Sub OPEN_Click()
Dim Temp As String
    With CommonDialog1
        .DialogTitle = "Datei öffnen..."
        .Filter = "Alle Dateien (*.*)|*.*|"
        .ShowOpen
        If .FileName <> vbNullString Then
            Open .FileName For Input As #1
                Do Until EOF(1)  'Ist das File noch nicht zu ende, dann..
                    Line Input #1, Temp '.. Zeile einlesen
                        Text1.Text = Text1.Text & Temp & vbCrLf
                 Loop
            Close #1
        End If
    End With
End Sub

Die Textbox zeigt dir aber nur eine Zeile an. Dies kannst du ändern, in dem du 'Multiline' auf 'True' setzt. Bei 'ScrollBars' kannst du noch bestimmen ob deine Textbox nur vertikal, horizontal oder beides scrollbar sein soll..


So, Ich hoffe ich konnte helfen


local
l0cal ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 14.05.05, 10:57   #3 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Also das mit dem Textfeld hat geklappt, und die Scrollbars auch, dafür schon mal danke.

Aber ich finde bei STRG+T die Komponente CommonDialog nicht. Nicht bei "Steuerelemente, nicht bei "Designer" und auch nicht bei "Einfügbare Objekte". Heißt die vielleicht anders?
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 11:07   #4 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Ach so..

Es ist bei 'Steuerelemente' und nennt sich 'Microsoft Common Dialog Control 6.0'

Hast du dies nicht?

local
l0cal ist offline   Mit Zitat antworten
Alt 14.05.05, 11:30   #5 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Ok, jetzt funktioniert es, vielen Dank. Nur noch eins, ist mir gerade aufgefallen, wie bekomme ich es hin, das ich mit STRG+A den gesamten Text markiere?

EDIT: Und noch eine Frage, ich möchte meine Textdatein mit meinem Editor öffnen, wenn ich also anwähle ganz normal bei Windows, dass sie damit geöffnet werden sollen, dann öffnet sich abere nur der Editor, nicht aber mit dem Inhalt der Datei. Wie geht so etwas?
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 11:39   #6 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Bei einer Textbox ist dies nicht so einfach möglich. Du müsstest dir selber eine Routine schreiben, die den Tastendruck abfängt und dann den Text markiert.

Für einen Texteditor benutzt man in der Regel aber auch nicht eine Textbox, sondern die RichTextBox (findest du auch bei den Komponenten). Bei dieser funktioniert dies einwandfrei. Ich würde in deinem Projekt die Textbox gegen eine RichTextbox austauschen, das erspart dir viel code.


local
l0cal ist offline   Mit Zitat antworten
Alt 14.05.05, 11:50   #7 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Ok, die RichTextBox hab ich jetzt benutzt, funktioniert auch, nur kann ich die Textfarbe nicht auf weiß ändern, die bleibt schwarz, was aber nicht zum design des Editors passt. Achja, kann sein das du das wegen dem Editieren von mir zu spät gesehen hast, da war auch noch eine für mich sehr wichtige Frage, vielen Dank schonmal so weit.

EDIT: Unter http://alius.al.funpic.de/ ist nun auch nochmal die aktuelle Version des Editors zu finden. Immernoch Editor.zip
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 12:28   #8 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Also:

Code um die Schrift zb. weiss zu machen:

Code:
Private Sub Form_Load()
RichTextBox1.SelColor = vbWhite
End Sub
Wegen dem laden: Du musst deiner exe noch den Pfad des Files übergeben, damit die exe das entsprechende File laden kann..

Hab gerade keinen Code zu Hand. Befrage doch Google.


Local
l0cal ist offline   Mit Zitat antworten
Alt 14.05.05, 13:14   #9 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Hm, das mit der Schrift geht, aber bei google weiß ich nicht so recht was ich suchen soll, ich habe es mit "vb file laden" versucht, aber nichts gefunden. Wonach soll ich suchen, wie nennt man so etwas?

EDIT: Und noch ein Problem wie ich gerade merke, die Schrift wird erst beim 2. Buchstaben weiß, ist das wegen Change? Ich hab jetzt sogar beides drin, einaml Change und einmal Load. Das Problem besteht aber weiterhin. Hoffe auf Hilfe, danke.

mfg $oul
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 14:18   #10 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Schaue, dass die RTF Box zu Beginn leer ist. Also nicht 'RichTextBox1' oder 'hhhhhhh' drin steht und füge den .SelColor-Code bei Form_Load() ein. Das sollte so gehen..

Willst du eigentlich deine RTFBox nicht grösser machen? So kann man ja fast gar nichts lesen..

Zu deinem anderen Problem: Schau dir mal diesen Code an: http://www.activevb.de/tipps/vb6tipps/tipp0062.html

Ich dachte zwar immer, dass das einfacher geht.. Aber ich leider nichts anderes gefunden.


local
l0cal ist offline   Mit Zitat antworten
Alt 14.05.05, 15:13   #11 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

So, ich habe jetzt gemerkt wo das Problem liegt...Solange ich noch keine Datei geöffnet habe schreibt er nun von Anfang an weiß. Wenn ich aber eine Datei öffne ist der Text wieder weiß, und wie ich aus deinem letzten Post entnehmen kann, scheint das Ändern der Farbe nur zu funktionieren, so lange noch kein Text in der Box ist, nun ist aber nach dem Öffnen ein Text darin und die Farbe scheint nicht mehr geändert werden zu können, kann man da was gegen tun? Ich dachte erst an eine Schleife, was aber durch die Theorie mit dem nicht mehr möglichen Farbsetzten wenn Text in der Box ist nicht gehen kann... Hast du noch einen Vorschlag?

PS: Ich weiß du hast viel Geduld mit mir, danke.

EDIT: Mit dem Link den du mir gegeben hast kann ich nicht viel anfangen, weil ich einfach nicht durchsteige. Scheint wohl nicht so einfach zu sein. Aber danke.

EDIT2: Ich habe noch eine Idee wie das mit der Schrift gehen könnte, könnte man vorm Öffnen nicht den Inhalt des Textfeldes löschen?
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 16:09   #12 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Hi

Das mit der Farbe ist wirklich komisch! Hier eine Lösung:

Code:
 Text2.SelLength = Len(Text2.Text) 'Markiert den Text..
 Text2.SelColor = vbWhite ' Setzt die Farbe auf weiss..
Baue diesen Code am Ende der Open_Click() Sub ein. Etwa so:

Code:
Private Sub OPEN_Click()
Dim Temp As String
    With CommonDialog1
        .DialogTitle = "Datei öffnen..."
        .Filter = "Alle Dateien (*.*)|*.*|"
        .ShowOpen
        If .FileName <> vbNullString Then
            Open .FileName For Input As #1
                Do Until EOF(1)  'Ist das File noch nicht zu ende, dann..
                    Line Input #1, Temp '.. Zeile einlesen
                      Text2.Text = Text2.Text & Temp & vbCrLf
                 Loop
            Close #1
        End If
    End With
   
   Text2.SelLength = Len(Text2.Text)
   Text2.SelColor = vbWhite
     
   End Sub
Ich denke das Problem mit der Textfarbe wäre so gelöst.. Mal sehen ob ich noch ein besseres Beispiel für das direkte öffnen von Text-Dateien mit deinem Editor finde..



Edit: Ich wusste doch, dass das nicht so schwer ist!

Der Pfad einer Datei (in deinem Fall eine Text-Datei) wird - öffnet man sie mittels 'öffnen mit..' - deiner Applikation in der Variable Command$ übergeben. Man muss also nur noch die Variable auslesen, sie von den "-Zeichen säubern und kann dann das entsprechende File öffnen.

Code:
Private Sub Form_Load()
Dim strOpen As String


If Command$ <> "" Then
      
    strOpen = Right(Command$, Len(Command$) - 1) ' " vom String abtrennen
    strOpen = Left(strOpen, Len(strOpen) - 1)    ' " vom String abtrennen
      
    Open strOpen For Input As #2
                Do Until EOF(2)  'Ist das File noch nicht zu ende, dann..
                    Line Input #2, Temp '.. Zeile einlesen
                        Text2.Text = Text2.Text & Temp & vbCrLf
                 Loop
    Close #2
    
    Text2.SelLength = Len(Text2.Text)
    Text2.SelColor = vbWhite
    
End If
  
  Text2.SelColor = vbWhite

End Sub
So nun sollten alle deine Probleme gelöst sein.. Viel Spass mit deinem Editor.

Gruzz local
l0cal ist offline   Mit Zitat antworten
Alt 14.05.05, 18:19   #13 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Ok danke man, es hat alles geklappt, du bist der beste. Danke.
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Alt 14.05.05, 18:43   #14 (permalink)
 
Registriert seit: 19.09.04
l0cal Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von $oul
Ok danke man, es hat alles geklappt, du bist der beste. Danke.
Besten Dank! Als Dankeschön hab ich noch was für dich. Du kannst deine RichTextBox auch transparent machen..


Füge dies oben in dein Projekt rein:

Code:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_EXSTYLE = (-20)
Const WS_EX_TRANSPARENT = &H20&
und dies bei Form_Load()

Code:
Dim result As Long
result = SetWindowLong(text2.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT)
Wobei deine RichTextBox 'Text2' heisst..


So wird dein cooles SP-Bild nicht zerstört.. ;-)

Gruzz local
l0cal ist offline   Mit Zitat antworten
Alt 17.05.05, 15:22   #15 (permalink)
Themenstarter
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Ok, damit siehts auch gut aus, Text isr zwar ein wenig schwer zu lesen, aber in dem Editor geht es eh hauptsächlich um den Style. Danke.

Ich habe noch eine, hoffentlich letzte, Frage:
Wenn ich maximiere, so wird ja nicht alles maximiert, wie macht man das?
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » Problem beim öffnen und speichern in VB
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem beim öffnen einer datenbank Octane Code Kitchen 0 23.08.09 19:33
Tonverzögerung beim dvd auf pc speichern :( aede2k Off topic-Zone 3 03.07.08 22:33
VB Speichern und öffnen einer Datei HOFER.Aldi Code Kitchen 4 13.05.05 14:25
Problem beim Speichern und/oder Laden Crus Die Problemzone 4 07.12.04 02:06
C# Problem beim speichern von datein aus einem Dataset Jadawin Code Kitchen 5 05.08.04 14:07


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61