Avatar billede azzodiac Nybegynder
21. januar 2001 - 16:03 Der er 9 kommentarer og
1 løsning

Udskriv filnavn+dato

Hej.
Jeg udskriver et .jpg-billede sådan:

Printer.PaintPicture Image1.Picture, 0, 0, 200, 100

Men jeg vil også gerne udskrive billedets path og dato.
Håber virkelig nogen kan hjælpe.
Jeg giver 200 point for et godt svar...
Avatar billede tdaugaard Nybegynder
21. januar 2001 - 16:05 #1
Du kan ikke finde nogen info om billedts fil egenskaber når det ER loadet og du ikke har gemt filnavnet.
Avatar billede tdaugaard Nybegynder
21. januar 2001 - 16:09 #2
Men! Hvis du har billedets filnavn kan du vha. flg. finde ud af hvornår filen er oprettet (dato + tid)

Public Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
End Type

Public Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Public Type OFSTRUCT
    cBytes As Byte
    fFixedDisk As Byte
    nErrCode As Integer
    Reserved1 As Integer
    Reserved2 As Integer
    szPathName(OFS_MAXPATHNAME) As Byte
End Type

Public Declare Function CloseHandle Lib \"kernel32\" (ByVal hObject As Long) As Long
Public Declare Function GetFileTime Lib \"kernel32\" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Public Declare Function OpenFile Lib \"kernel32\" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long
Public Declare Function FileTimeToSystemTime Lib \"kernel32\" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Public Declare Function FileTimeToLocalFileTime Lib \"kernel32\" (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long

Public Function GetFileInfo(strFile As String) As String
    Dim cTime As FILETIME  \' receives time of creation
    Dim aTime As FILETIME  \' receives time of last access
    Dim mTime As FILETIME  \' receives time of last modification
    Dim theTime As SYSTEMTIME  \' used to manipulate the time
   
    Dim noget As OFSTRUCT
   
    lngFile = OpenFile(strFile, noget, 0)
        lngRetVal = GetFileTime(lngFile, cTime, aTime, mTime)
    lngRetVal = CloseHandle(lngFile)
   
    lngRetVal = FileTimeToLocalFileTime(cTime, cTime)
    lngRetVal = FileTimeToSystemTime(cTime, theTime)
   
    GetFileInfo = \"The file was created on \" & theTime.wDay & \"/\" & theTime.wMonth & \"/\" & theTime.wYear & \" @ \" & theTime.wHour & \":\" & theTime.wMinute & \":\" & theTime.wSecond
End Function
Avatar billede bacadm Nybegynder
22. januar 2001 - 14:11 #3
hej azzodiac.

For så vidt angår billedets dato kan du bruge følgende:

Dim file As String
file = \"c:\\billede\\gobelin.gif\"
fdt1 = FileDateTime(file)

En funktion der virker, hvis du kender billedets placering.

Hvad mener du i øvrigt med at udskrive billedets path ??

/bacadm
Avatar billede bacadm Nybegynder
22. januar 2001 - 14:12 #4
hej azzodiac.

For så vidt angår billedets dato kan du bruge følgende:

Dim file As String
file = \"c:\\billede\\gobelin.gif\"
fdt1 = FileDateTime(file)

En funktion der virker, hvis du kender billedets placering.

Hvad mener du i øvrigt med at udskrive billedets path ??

/bacadm
Avatar billede azzodiac Nybegynder
22. januar 2001 - 16:40 #5
Jeg mener jeg gerne vil udskrive:
-billedet
-billedets filnavn+sti
-billedets oprettelsesdato
på min printer. :)
OK, jeg forhøjer til 300 point for et svar som virker...
Avatar billede tdaugaard Nybegynder
22. januar 2001 - 17:59 #6
azzodiac:> okay, den har _jeg_ forstået, og derfor skrev jeg også \"Du kan ikke finde nogen info om billedts fil egenskaber når det ER loadet og du ikke har gemt filnavnet.\"

Du er nødt til at gemme filnavnet når du loader billedet for at du kan få sti+filnavn og oprettelses dato for billedet.

Det du kan gøre er, hvis du loader billedet i en Picture eller Image kontrol, at du gemmer sti+filnavn i kontrollens .Tag property.

strFile = \"c:\\noteext.gif\"

Picture1.Picture = LoadPicture(strFile)
Picture1.Tag = strFile

så kan du senere bruge

oprettselsesdato = FileDateTime(Picture1.Tag)

for at få oprettelses dato.

strSti = Left(Picture1.Tag, InStrRev(Picture1.Tag, \"\\\"))
strFilnavn = Right(Picture1.Tag, Len(Picture1.Tag) - InStrRev(Picture1.Tag, \"\\\"))

for at få Sti og filnavn for sig, hvis du ønsker dette
Avatar billede azzodiac Nybegynder
23. januar 2001 - 13:47 #7
Det er kanon,
så mangler jeg bare at kunne printe billedet
og de 2 strenge ud på printeren(på samme ark...)
Så er dine point hjemme...
Jeg forhøjer til 350 point,
det haster virkelig!
Avatar billede tdaugaard Nybegynder
23. januar 2001 - 13:50 #8
ja øhm .. det der med at printe billedet .. den må jeg stå af på .. jeg har INGEN forstand på at udskrive billeder fra VB :-(
Avatar billede buhl Nybegynder
24. januar 2001 - 20:28 #9
Hvis du også vil printe din tekst ud er det nogenlunde således...

Printer.Print \"Picture path\"
Printer.Print \"Picture date\"
Printer.PaintPicture Picture1.Picture, 0, 0
Printer.EndDoc

Du skal bare huske at positionere dit billede med y-værdien (det sidste nul) ellers skriver den oveni billedet..

Håber dette lille bidrag kunne hjælpe!
Avatar billede langhans Nybegynder
01. februar 2001 - 12:29 #10
Private Sub Udskriv_Click()

      Printer.Orientation = vbPRORPortrait
      Printer.Print \"\"
      Printer.PaintPicture Image1.Picture, 1500, 5000, 10000, 7000
      Printer.CurrentY = Image1.Height + 10000
      Printer.Print \" \" & strFile & \" \" & strDato
      Printer.EndDoc

End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester