Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [delphi] utilizzo funzione setstr

    Ciao a tutti, come va? spero bene o almeno meglio di quanto sta andandoa me oggi...
    comunque volevo chiedere un'informazione......... ho creato una funzione che legge un blocco di caratteri, limettein un array di tipo Char e poi tramite un for e la concatenzaione creo una stringa...ho però dovuto usare un trucchetto: ho dovuto assegnare inizialmente alla stringa il valore '',per usare la concat. nel for....Ho poi gironzolato tra le funzioni di delphi per rovare qualcosa che facesse lo stesso lavoro e ho trovato setStr();
    Allora ho variato la mia funzione,ma ho avutoun problema...l'array di char mi sicrea correttamente,ma il risultato della funzione setstr è sbagliato....mi cambia la conversione dei dagti dell'array...ora vifaccio vedere codice della funzione

    function leggi_stringa(var fp: file; var lung: Integer): String;
    var i,n,l: Integer;
    buffer: array of Char;
    bufPtr:PChar;
    s:String;
    begin

    setlength(buffer,lung);
    //s:='';

    for i:=0 to lung-1 do
    begin
    BlockRead(fp,buffer[i],sizeof(Char),n);

    end;
    bufPtr:=Addr(buffer);

    SetString(s, bufPtr, lung);

    result:=s;
    end;

    buffer contiene in ogni elemento i caratteri giusti, mentre in uscita di setString() ottengo una
    stringa totalmente diversa
    ex buffer:=('1'.'2.'.'8','4',etccc,#0); ed è giusto
    in uscita ho s='UC--','1,'#0#0#ETCC..) che non centra niente con ilcontenutodi buffer, inoltre bufPtr puntatore dell'array me lo ritrovo in testa a s in quanto è proprio UC--....NON CAPISCO
    HO LETTOLA SPIEGAZIONE fornitami sui tutorial e visto gli esempi...scritti uguali,..il compilatore non mi da errori.....ho paura che l'errore sia dovuto all'uso di array dinamico o della blockread...........sapete darmi delucidazioni in merito all'argomento ? grazie e ciao




    re dei giovani

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Non ho capito... il problema è leggere un file di testo?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    .....non fa niente ho risolto tutto grazie ...alla fine il problema era da un'altra parte
    re dei giovani

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.