Kan fandme ikke få den her commondialog til at virke

Tags:    visual-basic

Jeg sakla have en commondialog til at gemme og åbne fra en rtf controller....

Det er det eneste...

jeg har skrevet alt andet code, men jeg mangler den hvor at den skriver til en fil...

Den skal kunne åbne ascii dokumenter, og gemme dem igen, uden at der mistes nogen data.



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Jeg sakla have en commondialog til at gemme og åbne fra en rtf controller....

Det er det eneste...

jeg har skrevet alt andet code, men jeg mangler den hvor at den skriver til en fil...

Den skal kunne åbne ascii dokumenter, og gemme dem igen, uden at der mistes nogen data.



OK, her laver jeg lige et hurtigt eksempelprogram, så er det meget lettere.

Opret et nyt Standard EXE project. Du får som sædvanlig en form kaldet Form1. Plask en CommonDialog kontrol på formen og en Microsoft RichText-kontrol. Ideen er, at vi gemmer det, der findes i RTF-boksen.

Plask to knapper på formen (vi kalder dem btnGem og btnHent) og tilføj så følgende kode til formen:

<pre>Private Sub btnGem_Click()

'
' Find den fil, brugeren vil gemme til.
'
With Form1.CommonDialog1
'
' Indstil filtype og maske. Gem også "open read
' only" check boxen.
'
Let .Filter = "RTF Filer (*.rtf)|*.rtf"
.Flags = cdlOFNHideReadOnly

'
' Vis common dialog i "gem-tilstand".
'
.ShowSave

'
' Når vi kommer hertil, har brugeren enten
' angivet et navn, eller også er der intet
' navn.
'
If .FileName = "" Then
'
' OK, der er ikke noget navn, så vi gemmer
' ikke noget.
'
Dim strFejlTekst As String
Let strFejlTekst = _
"Du må angive et navn og trykke på " & _
"OK, hvis programmet skal gemme din fil."
MsgBox strFejlTekst, vbInformation, _
"Intet Navn"

'
' Hop ud med det samme.
'
Exit Sub
End If

'
' Hvis vi kommer så langt som hertil, så var
' der et navn, og vi beder RTF boksen gemme
' sine data i den angivne fil.
'
RichTextBox1.SaveFile .FileName
End With

End Sub


Private Sub btnHent_Click()

'
' Find den fil, brugeren vil gemme til.
'
With Form1.CommonDialog1
'
' Indstil filtype og maske. Gem også "open read
' only" check boxen.
'
Let .Filter = "RTF Filer (*.rtf)|*.rtf"
.Flags = cdlOFNHideReadOnly

'
' Vis common dialog i "åbn-tilstand".
'
.ShowOpen

'
' Når vi kommer hertil, har brugeren enten
' angivet et navn, eller også er der intet
' navn.
'
If .FileName = "" Then
'
' OK, der er ikke noget navn, så vi gemmer
' ikke noget.
'
Dim strFejlTekst As String
Let strFejlTekst = _
"Du må angive et navn og trykke på " & _
"OK, hvis programmet skal gemme din fil."
MsgBox strFejlTekst, vbInformation, _
"Intet Navn"

'
' Hop ud med det samme.
'
Exit Sub
End If

'
' Hvis vi kommer så langt som hertil, så var
' der et navn, og vi beder RTF boksen hente data.
'
RichTextBox1.LoadFile .FileName
End With

End Sub</pre>

Det skulle vist være det hele. Disse rutiner gemmer/henter både tekststørrelser, farver, og så videre.

Software is here and now but rock and roll is forever.[Redigeret d. 11/05-03 16:58:41 af Herluf Hermansen][Redigeret d. 11/05-03 16:59:56 af Herluf Hermansen]



Man kan da bare bruge

RichTextBox1.LoadFile CommonDialog1.Filename
RichTextBox1.SaveFile CommonDialog1.Filename

Den gemmer og indlæser også farve tekststørrelse, mm.



t