DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes
  • Fonctionnement sous Windows Vista (et supérieur)
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Charge le contenu d'un fichier externe (texte, image, ...) dans une variable de type buffer.
Exemple
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)Ajax
MonBuffer est un Buffer 
MonBuffer = fChargeBuffer("c:\tmp\MonFichier.raw")
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)Ajax
// Lecture des 50 premiers octets (au maximum) du fichier à partir du début
MonBuffer est un Buffer 
MonBuffer = fChargeBuffer("C:\Dir\Fic.test", 0, 50)
Syntaxe
<Résultat> = fChargeBuffer(<Fichier externe> [, <Position> [, <Taille>]])
<Résultat> : Buffer
Contenu du fichier texte.
<Fichier externe> : Chaîne de caractères
Nom et chemin complet (ou relatif) du fichier externe (texte, image, ...). Il est possible d'utiliser un chemin UNC. Ce fichier n'est pas forcément un fichier au format TXT : en effet, les 0 binaires sont autorisés.
iPhone/iPadWidget IOSMac Catalyst Le chemin du fichier correspond à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Position> : Entier optionnel
Position à partir de laquelle le fichier texte doit être chargé. Cette position est exprimée en octets (ou en nombre de caractères).
Par défaut, ce paramètre correspond à 0 (début du fichier).
AndroidWidget AndroidJava Ce paramètre n'est pas disponible.
<Taille> : Entier optionnel
Taille maximale du fichier à charger. Cette taille est exprimée en octets (ou en nombre de caractères).
Par défaut, cette taille correspond à la taille totale du fichier.
AndroidWidget AndroidJava Ce paramètre n'est pas disponible.
Remarques
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)

Fonctionnement sous Windows Vista (et supérieur)

Si cette fonction ne fonctionne pas correctement sous Windows Vista (et supérieur), il est nécessaire de vérifier si le fichier ou le répertoire manipulé ne se trouve pas dans un des répertoires système (répertoire de Windows ou répertoire "Program Files").
En effet, sous Windows Vista (et supérieur), avec le mécanisme de l'UAC (contrôle des comptes utilisateurs) activé, il est nécessaire d'avoir les privilèges administrateur pour manipuler / modifier des fichiers ou des répertoires présents dans les répertoires système (répertoire de Windows ou répertoire "Program Files").
Conseil de programmation : Si vous devez manipuler / modifier des fichiers ou des répertoires, sans avoir besoin de privilèges administrateur, il est conseillé :
  • de ne pas écrire dans le répertoire de Windows ou dans le répertoire "Program Files",
  • d'utiliser le répertoire système correspondant à l'application (connu par la fonction SysRep par exemple avec la constante srAppDataCommun).
Composante: wd300std.dll
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Exemplo
floadbuffer(fcurrentdir()+fsep()+”meu.pdf”)

PdfFileTxt is string = encode(bufferPdf, encodeBASE64)

Tem que transformar o arquivo em buffer e de buffer em text base64

Inverso

MypdfBuffer is buffer = Decode(textoCode64, encodebase64)

Vc vai ter que materializar o buffer em arquivo

FsaveBuffer(fcurrentdir()+fsep()+”meu.pdf”, mypdfBuffer)

Gerando assim o pdf em disco, pois:

PDF, PNG, svg, jpg, docx, xlsx, bmp são buffers



Boller
30 nov. 2023
Seleciona Imagem e Resize
PROCEDURE SelecionaImagem(Janela, ControleImagem,bResize is boolean)

bufImagebuffer is Buffer

sFile is string = fSelect("c:\", "Selecione uma Foto...", "Todos os arquivos (*.*)" + TAB + "*.*" + CR + "PNG" + TAB + "*.PNG" + CR + "JPEG" + TAB + "*.JPEG" + CR + "JPG" + TAB + "*.JPG", "*.*")

IF fFileExist(sFile) = True

bufImagebuffer = fLoadBuffer(sFile)

sControlTelaImg is string = Janela +"."+ ControleImagem //monta a string do indirection

{sControlTelaImg,indControl} = bufImagebuffer

IF bResize = True

dResize({sControlTelaImg,indControl},{sControlTelaImg,indControl}..Width,{sControlTelaImg,indControl}..Height,drHomotheticCentered)

END

ELSE

Info("Nenhum arquivo selecionado!")

END

RESULT bufImagebuffer
//CASE ERROR:
//
CASE EXCEPTION:
BOLLER
23 mar. 2019
Como usar a procedure SelecionaImagem
IMG_LogoCompany = SelecionaImagem("WIN_GPU_02_Menu","IMG_LogoCompany",True)
BOLLER
23 mar. 2019

Dernière modification : 01/10/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale