| (In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene. |
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 ...
![]() |
| | #1 (permalink) |
| 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. | |
| | |
| | #2 (permalink) |
| Registriert seit: 19.09.04 ![]() Likes: 0 | 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 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 |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | 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. |
| | |
| | #4 (permalink) |
| Registriert seit: 19.09.04 ![]() Likes: 0 | Ach so.. Es ist bei 'Steuerelemente' und nennt sich 'Microsoft Common Dialog Control 6.0' Hast du dies nicht? local |
| | |
| | #5 (permalink) |
| Themenstarter | 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. |
| | |
| | #6 (permalink) |
| Registriert seit: 19.09.04 ![]() Likes: 0 | 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 |
| | |
| | #7 (permalink) |
| Themenstarter | 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. |
| | |
| | #8 (permalink) |
| Registriert seit: 19.09.04 ![]() Likes: 0 | Also: Code um die Schrift zb. weiss zu machen: Code: Private Sub Form_Load() RichTextBox1.SelColor = vbWhite End Sub Hab gerade keinen Code zu Hand. Befrage doch Google. Local |
| | |
| | #9 (permalink) |
| Themenstarter | 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. |
| | |
| | #10 (permalink) |
| Registriert seit: 19.09.04 ![]() Likes: 0 | 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 |
| | |
| | #11 (permalink) |
| Themenstarter | 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. |
| | |
| | #12 (permalink) |
| Registriert seit: 19.09.04 ![]() Likes: 0 | 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.. 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 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 Gruzz local |
| | |
| | #13 (permalink) |
| Themenstarter | 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. |
| | |
| | #14 (permalink) | |
| Registriert seit: 19.09.04 ![]() Likes: 0 | Zitat:
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& Code: Dim result As Long result = SetWindowLong(text2.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT) So wird dein cooles SP-Bild nicht zerstört.. ;-) Gruzz local | |
| | |
| | #15 (permalink) |
| Themenstarter | 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. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |