Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6 PDF tiedoston avaaminen tekstikenttään

Tumppu [06.12.2010 17:35:13]

#

Hei. Olisiko kenelläkään antaa neuoja miten voisi pdf-tiedostosta avata pelkät tekstit tekstikenttään. Netti on kyllä pullolaan, mutta en löydä sitä oikeaa ohjetta ja kaikki mitä löysin niin vaativat maksullisen version Adobelta. Ei niin yksinkertainen voi olla maksullista? :D

Tumppu [06.12.2010 20:11:41]

#

Ongelma melkein ratkesi... Löysin ohjelman jota pystyy kutsumaan komentoriviltä. ohjelmaa kutsutaan näin:

ohjelma.exe tiedosto.pdf tiedosto.txt

ja se muuttaa täten pdf:n txt tiedostoksi. Muuten sain shellillä hyvin toteutettua kyseisen tiedostojonon ajamisen cmd.exe:llä, mutta ongelmaksi tuli kansiot jotka sisältävät välejä. esim:

C:\Kaikki tiedostot\

tuota se ei tunnista. miten saan sen toimimaan? cmd.exe valittaa että ei löydy kansioita.

Grez [06.12.2010 20:51:06]

#

Yleensä
ohjelma.exe "Tiedosto jossa välilyöntejä.pdf" "Toinen tiedosto.txt"

VB6:ssa "-merkkejä saa merkkijonojen sisälle tuplaamalla ne.

Tyyliin: muuttuja = "Tässä on ""-merkki"

Tumppu [06.12.2010 21:49:28]

#

Jes! Muuten toimii hienosti, mutta hieman aiheesta poiketen; Ongelmana on enään se että kun teen .BAT tiedoston ja kun tiedostopolku sisältää ääkkösiä niin komentorivi näyttää ääkköset % merkkeinä. Miten saisin komentorivin ymmärtämään ääkkösiä?

Grez [06.12.2010 22:18:04]

#

Hieman voisit tarkentaa, mitä tarkoitat. (käyttis, mitä tehdessä niin käy, jne)

Itse tein hakemiston "Häh" W7:ssa, komentokehokkeessa esim. dir näyttää ihan nätisti hakemiston "Häh" ja samoin jos teen test.bat -tiedoston mihin laitan Dir, niin sekin näyttää ihan hienosti "Häh".

neau33 [11.12.2010 11:25:57]

#

Moi Tumppu!

mikäli luot batch-filun VB6-ohjelmasta käsin niin...

Private Sub Command1_Click()

   Open "c:\testi.bat" For Output As #1
   Print #1, VaihdaScandit("Dir \häh"): Close #1

End Sub

Function VaihdaScandit(merkkijono As String) As String

   Dim sDOS As String: sDOS = "†,ä,ö,,Ž,™"
   Dim sWin As String: sWin = "å,ä,ö,Å,Ä,Ö"
   Dim i As Integer, j As Integer

   For i = 1 To Len(merkkijono)
      For j = 1 To Len(sWin)
         If Mid(merkkijono, i, 1) = Mid(sWin, j, 1) Then
            Mid(merkkijono, i, 1) = Mid(sDOS, j, 1): Exit For
         End If
      Next j
   Next i

   VaihdaScandit = merkkijono

End Function

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta