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

    [pascal] files, posizione riga

    ciao
    sto facendo un programma e ho un procedura che deve analizzare ogni riga del file. il problema è che mi occorre sapere il valore o numero della riga in cui si trova il valore. che si fa per trovare il valore della riga in cui si è? ho provato con FilePos() ma impossibile mi restituisce un valore di una riga inesistente, su 8 righe che ne ho ero nella posizione 4 e mi restituisce che il val della posizione è 32..
    che succede è il mio pc fuori dal normale?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    117
    sinceramente nn conosco funzioni pascal che contano le righe... però forse sono io ke nn conosco approfonditamente...

    che ne dici di un contatore manuale?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    In effetti FilePos serve a contare i record a struttura fissa ... ma non le linee di lunghezza variabile ...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non conosco in dettaglio la funzione FilePos, ma credo che restituisca il numero del byte su cui è posizionato il puntatore del file...
    Per i file ad accesso sequenziale ti conviene utilizzare un contatore, che vai ad incrementare ogni volta che leggi una nuova riga.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    si alla fine ho dovuto usare il contatore quella funzione non restituisce il numero di riga
    grazie

  6. #6
    emh, un altra domanda.
    posso all'interno di un ciclo while con condizione not eof(file) se si verifica una condizione fermare il ciclo ed eseguire un altra scansione sempre col ciclo while con condizione not eof(file) e poi dopo tutte le istruzioni compresa scansione secondaria quindi uscita dalla condizione riavviare il ciclo in esecuzione che avevo fermato?
    per esempio:

    mentre non fine del file esegui

    se condizione vera
    ferma ciclo

    mentre non fine del file esegui
    altreistruzioni
    fine ciclo secondario

    fine condizione
    riavvia ciclo principale

    fine ciclo principale


    si puo fare una cosa del genere?
    ciao

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.