Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - pastrank

Pagine: 1 ... 16 17 [18]
256
DIM sLine AS String
dim i as integer

i = OPEN "filedaaprire.txt" FOR INPUT
  LINE INPUT #hFile, sLinea
close #i

print sLinea

257
Programmazione (Gambas 2) / Re: read file
« il: 09 Gennaio 2010, 11:35:18 »
E' poco che uso Gamnas, e questo ancora non l'ho mai dovuto usare, ma, guardando la documentazione, direi che deve usare gli Stream... tenere i record di lunghezza fissa puo' essere fatto leggendo sequenzialmente il file e scartando le righe "inutili", ma in caso di file belli grossi e' un lavoro lungo. Se sono poche righe, invece, e' inutile.
Invece, con quel metodo si leggono solo i caratteri necessari, ed e' sicuramente molto piu' veloce. Usavo questo metodo spesso con vb, dove altrimenti tenere gia' due o tre mega di archivio diventava lento. Si puo' associare un indice in memoria ai vari record, per maggiore velocita'.

Un esempio di questo sistema, per esempio, e' nella documentazione, su READ. In pratica si imposta il carattere di partenza, e si leggono tot caratteri successivi. E' chiaro poi che una semplice classe ti permettera', una volta creata, di leggere il record N astraendosi dalle "complessita'" della lettura.

Dico questo perche' in molti casi questo evita l'uso di database, quindi meno dipendenze, quindi e' piu' sicuro: imho, come nel vb, dove di solito un programma con piu' di due ocx quasi mai valeva i dischetti su cui era salvato.

258
Beh, era solo un esempio semplificatissimo, ma pone un problema comunque. Dare un errore come questo, imho, e' orrendo, bisognerebbe capirlo prima come stabilire se il player (o qualunque altra associazione) e' impostato. Ero giusto ieri a leggere cosa diceva freedesktop,org sull'argomento, ma so che Gnome si sta adattando con la 2.28, Kde usa un altro metodo, gli altri non so...

259
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 05 Gennaio 2010, 19:14:26 »
Ti rispondo solo per la parte riguardante desktop.open:

Codice: [Seleziona]
DIM ind AS String
ind = "/home/gp/mnt/disk1/mp3/001/7 seconds - new wind/01. night away.mp3"
Message.Info(ind)
Desktop.OPEN("file://" & ind)


Questo funziona di sicuro, facendo partire il player impostato (nel mio caso Qmmp), provato adesso.

260
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 04 Gennaio 2010, 23:49:05 »
Citazione

luca1202 ha scritto:
ok, ho risolto in questo modo
Codice: [Seleziona]
FOR i = 0 TO (listfile.Count) - 1
ListView1.Add(i, folder & "/" & listfile[i])
NEXT

ho dovuto aggiungere quel -1 perchè altrimenti mi segnavala che andavo "out of bounds".


Corretto il -1, magari, invece di & "/" & metti semplicemente &/
Per il resto, mai usato il componente gb.sbl.sound, ne addirittura ho le casse attaccate a questo pc, di sicuro pero' a Desktop.Open() non si passa il nome del file, ma file:// e il nome del file.

261
Programmazione (Gambas 2) / Re: Confronto ora
« il: 04 Gennaio 2010, 23:39:41 »
Per esempio, puo' funzionare cosi':

Codice: [Seleziona]
DIM x AS Date 
DIM y AS Long

x = Time(20, 30, 0)
y = DateDiff(x, Time(Now), gb.Second)
PRINT y


Alla fine avrai i secondi, e quindi puoi calcolare ore e minuti

262
Programmazione (Gambas 2) / Re: controllare form aperto
« il: 22 Dicembre 2009, 22:21:32 »
Potresti fare cosi':

DIM x AS window
  FOR EACH x IN windows
    if x.Name = ... etc etc
  NEXT

263
Progetti degli utenti / Re: Importazione progetto VB6
« il: 21 Dicembre 2009, 23:22:20 »
Ci mancherebbe! Anzi, visto che mi provai, gli posso parlare, magari non qui, delle cose di cui mi accorsi...

264
Progetti degli utenti / Re: Importazione progetto VB6
« il: 20 Dicembre 2009, 10:52:05 »
Da ex programmatore di VB sin dalla 1.0, una volta mi ero provato anche io, e mi ricordo alcune difficolta': non vorrei toppare clamorosamente con la memoria, ma, per esempio, la maggior parte dei sorgenti che trovi sono salvati in formato binario, i file .frx delle form se non sbaglio (non ricordo i moduli e le classi), e non riuscii a trovare attendibili indicazioni sul formato dei file. Viceversa, se era abbastanza facile tradurre le chiamate alle funzioni di Windows, lo era meno ricrearle con i corretti parametri; fino a che si traduce GetTempFile() o ExitWindowsEx(...) e' una sciocchezza, ma poiche' facevo un uso smodato di chiamate, se no VB diventava un bradipo, il lavoro da fare era enorme per il mio uso (e non pretendevo di avere il progetto Gambas gia' pronto, eh!). Se poi aggiungi che molti vbisti piu' che programmatori erano assemblatori di ocx, e che la traduzione non la potevi fare su di un file alla volta (le variabili e le funzioni potevano essere ovunque) il quadro mi parve completo.

265
Segnalazione bug (Gambas 2) / Re: GridView, Clear e Refresh
« il: 20 Dicembre 2009, 10:22:21 »
Boh, con squeeze/sid e 2.17 non me lo fa...

266
Programmazione (Gambas 2) / Re: Dimensione di un file
« il: 13 Dicembre 2009, 00:53:20 »
Puoi sempre usare una funzioncina cosi' (questa e' sub a dire il vero, ed e' un adattamento di una mia che mi deve mostrare un messaggio: e' ricorsiva, ma cerco sempre di evitare le shell... tutti i conti alla fine sono solo esempi, ti basta prendere la "misura" che ti interessa.

Codice: [Seleziona]
PUBLIC SUB DestinationSize(spath as string)

  DIM File AS String
  DIM l AS Long = 0
  DIM msg AS String
 
  msg = spath
  IF IsDir(spath) = FALSE THEN
    Message.Warning("No destination directory yet")
    RETURN
  ENDIF
 
  FOR EACH File IN RDir(sPath, "*.*")
    WITH Stat(spath &/ file)
      l = .Size + l
    END WITH
  NEXT
 
  msg = msg & "\n"
  msg = msg & "\nGb size: " & Format(l / 1024 ^ 3, "0.000")
  msg = msg & "\nMb size: " & Format(l / 1024 ^ 2, "0")
  msg = msg & "\nMb base 1000: " & Format(l / 1000000, "0")
  msg = msg & "\nKb size: " & Format(l / 1024, "0")
  msg = msg & "\nByte size: " & CStr(l)
  Message.Info(msg)
END

Pagine: 1 ... 16 17 [18]