Newsgroup: it.comp.lang.visual-basic
Titolo: Un grosso aiuto che vi chiedo

Vi espongo subito il mio problema.
Purtroppo attualmente non conosco  niente di nessun linguaggio di
programmazione.
E' una lacuna che intendo colmare al piu' presto, ma attualmente ho
pochissimo tempo.
Il piacere che vorrei chiedervi e' il seguente:
Se e' vero che attualmente non ho il tempo per studiare un manuale
completo con tutta calma, avrei pero' necessita' di imparare quel
minimo necessario per fare una cosa che, a quanto mi hanno detto, e'
estremamente semplice.
Cio' che vorrei essere in grado di fare e' quello di creare un
eseguibile che sia in grado di effettuare le seguenti operazioni
all'interno di un file di testo.
Il suddetto file di testo e' composto da una serie di righe (migliaia)
che rappresentano nell'ordine la data, l'ora, i prezzi di apertura,
massimo, minimo e chiusura di un titolo azionario o del Fib30, il
volume e l'open interest, cosi':
DATA         ORA    OPEN           HIGH            LOW           CLOSE
20020315,091500,32450.0000,32465.0000,32295.0000,32370.0000,58,0
20020315,091600,32385.0000,32430.0000,32370.0000,32430.0000,37,0
20020315,091800,32460.0000,32485.0000,32460.0000,32485.0000,50,0
Se notate nel passaggio dalla seconda a terza riga l'orario passa
dalle 9:16 alle 9:18, saltando le 9:17
Io vorrei che il programma ogni volta che trova all'interno del file
di testo un tale tipo di buco aggiunga 1 o piu' righe (dipende dal
numero di buchi) che completino la serie temporale. Come valori
numerici vanno bene gli stessi della riga antecedente al buco
Cosi':
20020315,091500,32450.0000,32465.0000,32295.0000,32370.0000,58,0
20020315,091600,32385.0000,32430.0000,32370.0000,32430.0000,37,0
20020315,091700,32385.0000,32430.0000,32370.0000,32430.0000,37,0
20020315,091800,32460.0000,32485.0000,32460.0000,32485.0000,50,0
La cortesia che vi chiedo e' la seguente.
Leggere un intero manuale completo di centinaia di pagine mi
porterebbe via tantissimo tempo che, come detto, attualmente non ho.
Tra di voi sicuramente ci sara' qualcuno che ha tanta esperienza e
tanta documentazione in materia, pertanto dovrebbe essere
relativamente agevole selezionare cio' che secondo lui rappresenta il
minimo indispensabile per riuscire a fare un programma come quello
sopra descritto.
Ripeto io, per il momento, vorrei semplicemente assimilare le
conoscenze minime necessarie per essere  in grado di creare
autonomamente programmi che si limitino ad effettuare delle
manipolazioni all'interno di un file di testo.
Un'ultima cosa.
Io non voglio offendere nessuno ne' tantomeno apparire maleducato con
questa mia richiesta, pertanto se essa urta la suscettibilita' di
qualcuno me ne scuso.
Infinite grazie
Ciao

 qualcuno me ne scuso.
Non mi sento urtato, ma tu stai chiedendo, molto correttamente, che ti si
faccia un programma, anche se piuttosto semplice. Stai quindi chiedendo un
preventivo.
Te lo posso fare in 60 minuti, minimo fatturabile 2 ore, totale 100 euro+IVA
20%.
Moltiplicare * 5 per avere il sorgente.
Se ti interessa, fammi sapere ragione sociale, partita IVA e numero di
bonifico anticipato.
Non sto scherzando, nè ti sto prendendo in giro.
Credo che molti qui, farebbero lo stesso.
Certo non posso escludere qualche "cecchino".

In subordine e gratis:
1) Open File (for input e for output)
2) For/Next
3) EOF
4) Line Input #
5) If, Then, left, mid, val
6) Print #
7) Close

 ha scritto nel messaggio
news:p02W8.8325$7N3.1...@twister2.libero.it...

... Sei Divinamente Fantastico!!!
    Acia

 Certo non posso escludere qualche "cecchino".
Non gli faremo del male dai... è stato educatissimo...

 7) Close
Aggiungerei :
8) la funzione Split che potrebbe fargli comodo...
Comunque secondo me fa prima a commissionarlo a qualcuno che a studiarsi gli
argomenti necessari a crearsi un buon prodotto...

 20%.
Dai lupo, quello che ha chiesto Silver si fa' in 10Min. ;o))))
Bye
Ven.

 Dai lupo, quello che ha chiesto Silver si fa' in 10Min. ;o))))
No. Comincia a metterci un CommonDialog per la ricerca del file, la
richiesta del file di destinazione, tre opzioni e qualche ammenicolo che
sicuramente ci vuole.
Fallo, provalo, compilalo e fai il pacchetto di distribuzione, IMHO, non ti
bastano i 10 minuti, nč i 60, forse nemmeno i 120.

 non ti bastano i 10 minuti, nč i 60, forse nemmeno i 120.
Beh in 120 una RC1 da presentare al cliente si fa... poi sicuramente
arrivano le richieste aggiuntive... "sarebbe bello se facesse anche..." ;)


wrote:

Innanzitutto grazie per le risposte.
Sapevo che il mio post poteva essere delicato ed e' per questo che ho
precisato che da parte mia nessuna volonta' di provocazione....anzi mi
sono scusato in anticipo.
Il problema pero' e' che credevo che l'inghippo si fosse venuto a
creare su di un altro punto; ma questo perche' evidentemente sono
stato travisato, o meglio non mi sono spiegato bene.
Dunque lungi da me l'idea di approfittare del vostro lavoro;
probabilmente molti di voi sono programmatori professionisti e non mi
sarei mai permesso di chiedervi di scrivere un programma (anche se ci
volessero solo 10 minuti), senza aver prima concordato una giusta
retribuzione.
Insomma, io non voglio che mi facciate il programma....ci mancherebbe
altro!!!
La cortesia che avevo chiesto e' la seguente: io stesso dispongo di
diversi manuali VB trovati in vari luoghi della rete. Addirittura nei
software peer2peer si trovano interi libri in materia.
Il fatto e' che io al momento non ho il tempo materiale di studiarmi
300-400 pagine, insomma studiare tutto il VB comprese le cose che
attualmente non mi servono.
Il mio desiderio era quello che qualcuno tra voi particolarmente
disponibile verso il prossimo ;-) , mi segnalasse solo le pagine
minimamente necessarie per riuscire a realizzare il software di cui
sapete.....solo il minimo indispensabile.
Se voglio tradurre una singola frase dall'inglese, non c'e' bisogno
che vada a Cambridge e mi studi TUTTA la grammatica inglese.
Per tradurre quella singola frase avro' semplicemente bisogno di una
introduzione generale, di conoscere il significato solo dei singoli
termini presenti in quella frase e conoscere esclusivamente le 2 o 3
regole grammaticali utilizzate sempre nella medesima frase.
Spero la metafora vi sia piaciuta ;-)
Insomma se voi conoscete come va fatto quel programma e partendo da un
manuale completo VB, vi bastera' un'occhiata per dire: questo
paragrafo si, quest'altro no.....non ti serve a niente per gli scopi
che ti sei prefisso. 
Io che invece non ho ne so niente di niente di programmazione, sarei
costretto a leggere tutto per poi accorgermi che quello che ho letto
non mi serve ai miei scopi.
Altra cosa: io non ho particolari esigenze, tipo ottimizzare il
codice, seguire la strada piu' efficiente, ecc.....a me interessa solo
ottenere il risultato finale.
Spero qualcuno voglia aiutarmi in tal senso. 
Grazie
Ciao

 ha scritto nel messaggio
news:1opiiukl6nt94f32u...@4ax.com...


 Dai lupo, quello che ha chiesto Silver si fa' in 10Min. ;o))))
adoro questo ng.
un altro post e qualcuno glielo fa gratis.
che e' quello che chiedeva silver :P

 14) IsNumeric
la prima da usare insieme a Split, la seconda per l'apertura dei file,
la terza per non "freezare" i cicli, le successive per le comparazioni
fra gli orari (che in VB sono comunque di tipo Date).
Non lo faccio mai e dubito che lo rifaro' in futuro, spero di non
sollevare un polverone fra gli altri programmatori che (come me del
resto) fanno questo per guadagnarsi la pagnotta; diciamo che ho provato
"simpatia" per il problema e mi e' piaciuto l'atteggiamento: di seguito
la soluzione al tuo problema corredata di codice sorgente.
Si tratta di aprire (Open) un file in lettura (For Input) ed uno in
scrittura (For Output) nel quale scriverai (Print) tutte le righe lette
(Input) dal primo + quelle mancanti.
- Un primo ciclo trova una riga valida: 8 campi separati da virgola
(Split), da 0 a 7 (Ubound) in cui i primi due campi, 0 e 1, siano
numerici(IsNumeric) e la memorizza come riga precedente.
- Un'altro ciclo legge una riga per volta e la confronta con la
precedente.
- Se la precedente ha la stessa data, verifica che l'ora della riga
attuale sia quella della precedente + 1.
- Se questo si verifica scrive la riga precedente in output, copia la
riga attuale nella precedente e va avanti.
- Se non si verifica incrementa l'ora della riga precedente di minuto in
minuto (e la scrive) finche' non si verifica la condizione (ovvero che
l'attuale sia uguale alla precedente + 1).
- Se la riga precedente ha data diversa dalla riga attuale la scrive ed
anche qui, copia la riga attuale nella precedente e va avanti.
- Alla fine del ciclo scrive l'ultima riga rimasta e chiude i file
(Close)
Sotto la firma il codice sorgente. Servono un Form ed un Command Button
(Command1).
hth,
Lokar
P.S. A me sono occorsi 32 minuti per scrivere il tutto.
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
--
Option Explicit
Private Function DateFromString(ByVal sDate As String) As String
   If Len(sDate) = 6 Then
      DateFromString = CStr(CDate(Left$(sDate, 2) & "." & Mid$(sDate, 3,
2) & "." & Right$(sDate, 2)))
   Else
      DateFromString = vbNullString
   End If
End Function
Private Sub Riempi(ByVal sFileInput As String, ByVal sFileOutput As
String)
   On Error GoTo EHRiempi
   Dim sLineaPrecedente As String
   Dim sLineaAttuale As String
   Dim vLinea As Variant
   Dim sDataAttuale As String
   Dim sDataPrecedente As String
   Dim sOraAttuale As String
   Dim sOraPrecedente As String
   Dim tDate As Date
   Dim LineNo As Long
   Dim fni As Integer
   Dim fno As Integer
   fni = FreeFile
   Open sFileInput For Input As #fni
   fno = FreeFile
   Open sFileOutput For Output As #fno
   Do Until EOF(fni)
      Line Input #fni, sLineaPrecedente
      LineNo = LineNo + 1
      vLinea = Split(sLineaPrecedente, ",")
      If UBound(vLinea) = 7 Then
         If IsNumeric(vLinea(0)) And IsNumeric(vLinea(1)) Then
            sDataPrecedente = CStr(vLinea(0))
            sOraPrecedente = CStr(vLinea(1))
            Exit Do
         End If
      End If
   Loop
   Do Until EOF(fni)
      Line Input #fni, sLineaAttuale
      LineNo = LineNo + 1
      vLinea = Split(sLineaAttuale, ",")
      If UBound(vLinea) = 7 Then
         If IsNumeric(vLinea(0)) And IsNumeric(vLinea(1)) Then
            sDataAttuale = CStr(vLinea(0))
            sOraAttuale = CStr(vLinea(1))
            If sDataAttuale = sDataPrecedente Then
               If DateFromString(sOraAttuale) <> vbNullString Then
                  If DateFromString(sOraAttuale) =
CStr(CDate(DateFromString(sOraPrecedente)) + CDate("00.01.00")) Then
                     Print #fno, sLineaPrecedente
                  Else
                     Do
                        vLinea = Split(sLineaPrecedente, ",")
                        tDate = CDate(DateFromString(sOraPrecedente)) +
CDate("00.01.00")
                        sOraPrecedente = Format(tDate, "hhmmss")
                        vLinea(1) = CStr(sOraPrecedente)
                        sLineaPrecedente = Join(vLinea, ",")
                        Print #fno, sLineaPrecedente
                     Loop While DateFromString(sOraAttuale) <>
CStr(CDate(DateFromString(sOraPrecedente)) + CDate("00.01.00"))
                  End If
               End If
            Else
               sDataPrecedente = sDataAttuale
               sOraPrecedente = sOraAttuale
               Print #fno, sLineaPrecedente
            End If
         End If
      End If
      sLineaPrecedente = sLineaAttuale
   Loop
   If sLineaAttuale <> vbNullString Then
      Print #fno, sLineaAttuale
   End If
EHRiempi:
   Close #fni
   Close #fno
   If Err.Number <> 0 Then
      MsgBox "Errore nel file di input alla riga " & CStr(LineNo) & "."
& vbCrLf & _
             "Errore " & Err.Number & ". " & Err.Description & ".",
vbExclamation
      Err.Clear
   End If
   On Error GoTo 0
End Sub
Private Sub Command1_Click()
   Riempi App.Path & "\input.txt", App.Path & "\output.txt"
   Me.Hide
   Unload Me
End Sub

 che e' quello che chiedeva silver :P
mah, lui nega...  ;-P
ciao
ugo

 20020315,091800,32460.0000,32485.0000,32460.0000,32485.0000,50,0
[...]
    Migliaia va bene, ma... quante migliaia? Perche' sarei tentato di
proporti di usare Excel, visto che non conosci linguaggi di programmazione.
Perche', se le "migliaia" non sono *troppe* migliaia, non dovresti trovare
difficolta', ne' scrivere una sola riga di codice. Solo qualche formula.
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 1)un minimo di interfaccia grafica la devi costruire
Mah... io farei un prg da riga di comando, senza interfaccia, senza ocx,
dll, ecc.
Puro VB con solo la sub main.
In una mezz'oretta/1 ora dovrebbe venirne fuori qualcosa di usabile.
Il problema è proprio il fatto che non basta sapere un linguaggio, ma è
necessario sapere almeno le basi di cosa sta "sotto"
Ciao

 sono scusato in anticipo.
infatti, a parte la piega umoristica del thread, non sei stato aggredito.
l'educazione e' un gia' un miracolo che ci sia.

zero. circa 30 anni di studi di letteratura, lingue, e letture varie mi
consentono tranquillamente di dirti, senza offesa, che hai detto una
stronzata pazzesca.
mi sono tradotto eliot dall'inglese, rimbaud dal francese, holderlin e
wilhelm muller dal tedesco, il cantico dei cantici (dalla vulgata: in
italiano e in inglese) e catullo (dall'ultimo latino repubblicano: c.s.). e
ogni volta ho pianto calde lacrime. se fosse vero quello che tu dici, ci
avrei messo 10' ogni volta.
"i singoli termini" ?
popolano
essi popolano. o il popolano ?
per dire una scemenza.
"le 2 o 3 regole grammaticali utilizzate sempre nella medesima frase" ?
hai un'almeno vaga idea di quante decine o centinaia di regole, esplicite o
implicite, stai usando nelle undici parole qui sopra ? a partire dalla
contaminazione fra caratteri dell'alfabeto e simboli numerici...
fosse vagamente vero quello che pensi, l'a.i. sarebbe una realta' dagli anni
60, e non ancora adesso una pia illusione...
non sottovalutare mai i linguaggi, nemmeno vb.
seno' la prenderai sempre nei denti.
il tutto, ripeto, senza offesa e con grande tranquillita'.
--
ciao, buon lavoro, j.
www.sundaysw.com


 la soluzione al tuo problema corredata di codice sorgente.
Non guardo nemmeno il codice.
Spero che anche Silver, che vuole imparare e capire, non venga attratto da
questa scorciatoia, funzionante o meno che sia. Si scoprirebbero gli
altarini... e anche i chierichetti.

 scoprirebbero gli altarini... e anche i chierichetti.
Uffa ci ha soffiato un cliente! :DDDDDDDDDDDDDDDDDDDD

In realtà è proprio ciò che volevo evidenziare.
Ciao GG


 Ciao
Fatemi finire con una sola considerazione OT
Ragazzi guardami negli occhi ...la vedete la lacrima?
SIGH!SOB!
No hope!No future!

 Uffa ci ha soffiato un cliente! :DDDDDDDDDDDDDDDDDDDD
ROTFL =)
Battute a parte, ho visto in SilverChair me qualche anno fa, con un
piccolo problema da risolvere, pochissimo tempo, ma comunque buona
disposizione "mentale" ad imparare.
Probabilmente ho fatto male a postare il codice (cmnque per curiosita' -
thnx Lupo - volevo vedere quanto ci voleva veramente a scrivere il
programma), e probabilmente passera' un po' di tempo prima che decida di
studiare seriamente VB, diciamo che e' stata una "botta di altruismo".
Non e' un programma "commerciale", fosse stato per me (come suggeriva
Zanna) avrei fatto tutto in un modulo per produrre un eseguibile a linea
di comando. Il codice non e' ottimizzato (anche se come ha detto una
volta Maurizio Borrelli : "Non bisognerebbe ottimizzare il codice, ma
scrivere codice ottimizzato"), e' stata piu' che altro una prova di
velocita' e la ricerca dell'algoritmo mi stuzzicava. Anch'io lavoro
spesso (caso vuole) esattamente sullo stesso tipo di dati che si trova a
manipolare SilverChair ed ho provato, come dicevo, "simpatia" per il suo
problema.
E per una volta, checche' ne dica Wodka4U o javalab (in tono piu' pacato
;) ), non credo che SilverChair sia un troll, e "mi sono sentito" di
dargli una mano. Prima e ultima probabilmente. E senza _veramente_
togliere lavoro a nessuno (;) x Lord Rayden).
Happy Coding a tutti =)
Lokar


 Soup on the fish !
Ricordo a tutti:
"primo piano" = "Association of Bologna" di babelfish...
E aggiungerei dei coloratissimi "spaGEtti" scritti a caratteri cubitali su
una lavagna fuori da un ristorante austriaco (è comprensibile dato il suono
di "ge" in tedesco)! Il mondo è pieno di traduzioni "maccheroniche"! :P

 di "ge" in tedesco)! Il mondo è pieno di traduzioni "maccheroniche"! :P
Aggiungerei quella fatta da un mio ex-compagno di classe (prontamente
bocciato a vita) dall'italiano al latino:
"sono stato" --> "sum res publica"
- SonicBoom -

 togliere lavoro a nessuno (;) x Lord Rayden).
Mah, chissà, io farò caso ai prossimi telegiornali, quando mostrano tutte
quelle persone in Borsa davanti ai video con tanti numerelli... Fallo anche
tu, magari vedi il tuo programma girare.
Hai inserito, almeno, una back-door e/o un Easter (o come cavolo si
scrive)-Egg? ;-)))

 scrivere codice ottimizzato"),
    Unicuique suum (*): non e' mia ma di chissa' chi.
(*) Cristo/Osservatore Romano/Sciascia/Ora, modestamente, io.


 (o come cavolo si scrive)-Egg? ;-)))
Easter Egg =) No peccato non ci avevo pensato ;)
Lokar
P.S. Lavorare su dati di borsa NON significa essere automaticamente
miliardari. E poi chi sono questi fantomatici signori che giocano coi
*nostri* soldi??? Aspetto la puntata di X-Files di stasera per queste
cose ;)



Grazie Lokar, credimi ho apprezzato tantissimo la tua disponibilita'.
Per la prima volta nella mia vita ho installato il VB6 (probabilmente
una vecchia versione 8176) ho copiato il tuo codice, ma mi da errore
di compilazione.
Ma come detto, sicuramente sbaglio io qualcosa dato che parto da zero,
e quando dico zero vuol dire perl'appunto che questa e' la primissima
volta che vedo un codice e tento di compilarlo, non avendo ben chiaro
neppure la procedura esatta per la compilazione.
Ma non voglio portar via altro tempo e comunque il mio obiettivo
primario resta quello di essere in grado di scriverlo io quel codice;
anche perche' la descrizione del programma era a puro titolo
esemplificativo, nella realta' per riempire i dati mancanti e' piu'
correto procedere con un'interpolazione lineare.
In definitiva ho capito che devo prendermi un manuale e iniziare a
studiare........c'e' poco da fare; fermo restando, e voglio ancora
ribadirlo, i ringraziamenti e l'ammirazione che ho per Lokar che ha
dimostrato qualita' umane fuori dal comune.
Concludo con due domande.
1) Qual e' il manuale piu' semplice e chiaro che vale la pena leggere
per i miei scopi?
2) Dovendo iniziare da zero ad imparare un linguaggio di
programmazione mi conviene studiare il VB6 oppure, in relazione ai
miei scopi che oramai sapete e che sono estremamente limitati
(manipolazione di file di testo), c'e' qualche altro linguaggio che mi
consigliate? Sono interessato esclusivamente alla velocita' con cui si
puo' imparare........meno giorni ci vogliono, meglio e' ;-)
 
Thanks to all

 puo' imparare........meno giorni ci vogliono, meglio e' ;-)
    Proposta indecente: QBasic. E' gratis (lo trovi nel CD di Win), c'e' il
manuale (elettrico... piu' che elettronico:-), non ti distrae con eventi e
interfacce grafiche, le istruzioni di I/O sono praticamente le stesse di VB,
e' strutturato, in rete ci sono milioni di righe di codice (credo)... Si',
potebbe andare.


potebbe andare.
grazie per il consiglio, ci pensero'
Ciao

 grazie per il consiglio, ci pensero'
    Prego, ma era una indicazione, non un consiglio.


 P.S. A me sono occorsi 32 minuti per scrivere il tutto.
25 minuti e 43 linee di codice, tiè! ;-)))

 25 minuti e 43 linee di codice, tiè! ;-)))
Come minimo me lo devi inviare =)
Lokar.che.non.usa.anti.spam.nella.firma.perche.gli.spammer.se.li.pappa.a
.colazione
P.S. [OT] A proposito di spammer: non so se conoscete il sito di
maxkava, ma, armato di pazienza e seguendo rigorosamente le indicazioni
per combattere lo spammer, sto per farmi risarcire, grazie ad un
intervento del garante per la privacy, da uno spammer incallito! sono
troppo felice =))))) (Fremo nell'attesa che il garante stabilisca la
cifra da risarcire che va da 250 a 5000 EURO! Mi ci pago il viaggio di
nozze ;) )


 Mi ci pago il viaggio di nozze ;) )
Congratulations!

veramente come le hai raccontate, non serve scrivere codice.
Perche' vuoi per forza alludere al fatto che il mio intervento fosse
subdolamente mirato ad ottenere del codice gratis?
Tant'e' che il codice di Lokar, pur avendolo ringraziato per la
disponibilita', non lo sto utilizzando visto che il mio intento e'
quello di capirlo ed essere in grado di scriverlo io autonomamente.
E' vero ho provato a compilarlo, ma ci sono degli errori; pertanto
sono ancora piu' fermo nell'intenzione di imparare a scrivere io
stesso il codice piuttosto di capire cosa sbaglio  nella compilazione
oppure individuare se ci sono dei piccoli errori nel codice stesso.
Vabbe' sicuramente stavi scherzando visto le faccine :-)
Ritornando ad excel, forse non ci siamo capiti.
Non si puo' fare senza VBA.....e' certo!!! Forse ho sbagliato ad
esprimermi, non e' vero che me la cavicchio con excel, diciamo che ho
delle buone conoscenze ed una relativamente lunga esperienza e ti
confermo che non si puo' fare.
Non voglio assolutamente metterti sotto, non mi interessa e non e' nel
mio costume. A proposito quant'e' la tariffa per aprire un foglio
excel? avete una tariffa anche per questo? ;-) scherzo naturalmente,
e' solo una battuta. 
 Ma se tu, come hai detto, te la cavicchi soltanto con il foglio della
MS e se non tenti neppure di impostare concretamente il problema non
capisco da dove deriva tutta questa tua sicurezza.
Ripeto non voglio assolutamente che tu lo faccia e perda tempo, pero'
almeno modera la tua sicurezza nell'affermare cose che non hai mai
neppure tentato di fare.
Io c'ho speso qualche oretta nel rifletterci e sono pervenuto a tale
conclusione.
Tutto questo con cordialita' e stima.
Ciao

 Tutto questo con cordialita' e stima.
    Io per la stima attendo qualche altro post, la cordialita' invece e'
tanta.


 Mi ci pago il viaggio di nozze ;) )
Vattene alle Bermuda e non ti sposare :-PPP
Un Paperino che fra un mese compie nove anni di matrimonio.

conosciuto!...
Puoi dirmi dove sono stato scortese? In ogni caso se ti ho offeso me
ne scuso, non era mia intenzione.
Pero' sono stufo di chiedere sempre scusa non appena apro bocca. Se
non sbaglio sei tu che prima hai fatto qualche allusione sulla mia
incapacita' a fare qualcosa, quando ho dimostrato e posso dimostrare
che parlo con cognizione di causa.
Il foglio excel VBA ce l'ho', tutti dicono che non si puo' fare senza
VBA e alla fine sono anche scortese.....un po' strana come cosa.
Comunque da parte mia nessuna volonta' di offendere, credimi.
Mi dispiace se ho dato l'impressione contraria.
Ciao

 Un Paperino che fra un mese compie nove anni di matrimonio.
Battuta triste e scontata, sorry!
<miele mode>
Lokar.felice.di.poter.passare.la.vita.accanto.alla.donna.che.ama
</miele mode>


 di "ge" in tedesco)! Il mondo è pieno di traduzioni "maccheroniche"! :P
questa pero' e' una traslitterazione spagettica :P

 "sono stato" --> "sum res publica"
eri in classe con imprenditori/politici cosi' importanti ?

 Facciamo 2 conti: 96*20*30= 57600 righe
[...]
    96 che cos'e'?... E 20?... 30 sembrano i giorni di un mese... A me
risulta:
    ( 60n / 5n ) * 24h * 30g * 12m * 2,5a =  259.200rec
    A questo punto (uso il tuo stile) voglio assolutamente che mi mandi  il
file (zippato). Magari con una riformulazione del problema.
    A proposito... le funzioni a corredo di excel (office 2000 pro) non
valgono come codice, vero? Il testo delle query sql non vale come codice,
vero?


 vero?
<g>
Lokar.sgranocchiando.pop.corn


>Concordo sulla formulazione originale del problema assolutmente diversa,
Ma perche' diversa, scusatemi.
Concettualmente o dati a 5 minuti o dati a 1 minuto, il discorso non
cambia.
Si tratta di riempire dei buchi che inevitabilmente si trovano
all'interno di serie storiche finanziarie ad alta frequenza,
indipendentemente dalla qualita' delle stesse.
Ok, preferite 1 dati a 1 minuto, basta dirlo.....no problem ;-)
Ciao

vero?
Il mio stile non e' mai stato quello del "voglio assolutamente".
Per codice intendo ovviamente tutto cio' che viene inserito nel Visual
Basic Editor (Alt+F11) utilizzando l'opposito linguaggio.
Una riformulazione del problema?
Molto semplicemente:
1) prendi questo file che rappresenta un esempio di serie storica del
titolo TIM:  
http://web.tiscali.it/defil/Tim.zip
2) fai in modo che ogni giorno sia composto da esattamente 96 righe
(dalle 9:30 alle 17:25)
Non perdiamo di vista l'oggetto di questa interessante discussione.
Tu affermi che sia possibile farlo senza VBA, io no.
A questo punto non si tratta piu' di una presunta volonta' di carpire,
da parte mia, il lavoro degli altri (anche perche' io il risultato
finale, anche se lentamente ed in modo inefficiente, riesco ad
ottenerlo....e posso provarlo pubblicando la serie storica in esame
priva di buchi).
Se vogliamo uscire da questa discussione c'e' bisogno che ci mostri un
file excel che riesca a fare quanto detto al punto 2 senza avvalerti
del VBA.
Ciao

 ma il conto (se tieni presente che sono dati di borsa)
    Tutte le disgrazie dell'analisi nascono proprio da questo "tener
presente". A programma finito si scopre che uno intendeva grammi, l'altro
chili. Preferisco sembrare ebete.


 >    Fossero anche dieci..
Far scattare un'ora/minuto al minuto successivo richiede alcuni test per
evitare di impostare la riga mancante alle 15:60 o alle 24:00 Se la
frequenza cambia, cambia anche il metodo, sostanzialmente direi.
E, siccome il programma č tutto lě, č molto importante.

 del VBA.
    Excel
    File > Apri... > TIM_55.TXT
    E facciamo tutto quel che serve per importare correttamente il file,
facendo attenzione ai separatori decimali/miglia invertiti e avendo cura di
importare come testo (cosi' come stanno) data e ora.
    Selezioniamo tutte le celle (A1:J32338) poi:
    Inserisci > Nome > Crea...
    [V] Riga superiore
    Ok
    Aggiungiamo un foglio di lavoro che chiameremo xes "pk" (primary key):
    A1: =RIGHE(TICKER)
    B1: <DTYYYYMMDDHHMM>
    A2: 1
        Modifica > Riempimento > Serie...
        Serie in: Colonne
        Tipo: Lineare
        Valore di incremento: 1
        Valore limite: (quello che leggiamo in A1)
        Ok
    B2: =TIM_55.xls!DTYYYYMMDD&SINISTRA(DESTRA("0"&TIM_55.xls!TIME;6);4)
    MAIUSC+CTRL+FINE
    Modifica > Riempimento > In basso -oppure- CTRL+<
    B1:
    MAIUSC+CTRL+FINE
    Inserisci > Nome > Crea...
    [V] Riga superiore
    Ok
    Aggiungiamo un foglio di lavoro che chiameremo xes "test".
    B1: DataOra
    C1: Riga
    D1..I1: copiamo le intestazioni presenti in TIM_55!E1:J1
    A2: 0
    B2: =DATA(SINISTRA(INDICE(DTYYYYMMDDHHMM;1);4)-1;12;31)+ORARIO(17;25;0)
    D2..I1: 0
    B3:
=SE(E(ORA(B2)=17;MINUTO(B2)=25);GIORNO.LAVORATIVO(B2;1)+ORARIO(9;30;0);B2+OR
ARIO(0;5;0))
    C3: =CONFRONTA(TESTO($B3;"aaaammgghhmm");TIM_55.xls!DTYYYYMMDDHHMM;0)
    D3: =SE(VAL.NON.DISP($C3);D2;INDICE(TIM_55.xls!OPEN;$C3))
    E3..I3: Come D3 con le opportune correzioni
    Per testare se tutto funziona elaboriamo il primo mese, gennaio e
calcoliamo quante celle occorre riempire:
    A1: =GIORNI.LAVORATIVI.TOT(B2;DATA(ANNO(B2)+1;2;0))*((60/5)*8)
    A2:
        Modifica > Riempimento > Serie...
        Serie in: Colonne
        Tipo: Lineare
        Valore di incremento: 1
        Valore limite: (quello che leggiamo in A1)
        Ok
    B3:
        MAIUSC+CTRL+FINE
        CTRL+<
    Salvare!
    (S. E. & O.)


 eri in classe con imprenditori/politici cosi' importanti ?
Diciamo piuttosto che non c'e' mai fondo all'ignoranza...
Per la serie: "Datemi un vocabolario di latino e ci sollevero' il mondo..."
(o quasi).
- SonicBoom -

> e ci sollevero' il mondo..."
Forse era sintatticamente piu' corretto un "e VI sollevero' il mondo...".
- SonicBoom -

importare come testo (cosi' come stanno) data e ora.
Una cortesia, puoi farmi avere il foglio excel che hai creato?
Io, anche se non ti occupi di borsa e quindi la cosa non ti interessa,
posso mandarti quello che utilizzo attualmente.
A questo punto la curiosita' e' tanta. Anche se un foglio riempibuchi
senza VBA e' inefficiente e praticamente inutilizzabile, se ci sei
riuscito veramente sei stato molto bravo sul serio.
Ciao

 sei stato molto bravo sul serio.
    Molto bravo? Ma a fare che, scusa? Devi dare una registrata al tuo
bravometro.


scritto? Non ne hai voglia? Non ne hai il tempo?
Dai ora non essere cosi' rigido e puntiglioso.
Visto che l'avevi fatto il foglio excel se me lo mandavi mi evitavi il
copia/incolla.....semplice, indolore,ecc ;-)
Mica stiamo giocando a farci i dispetti? :-))
Comunque ho fatto.
Anche se non sei d'accordo il bravo te lo ridico, ma non tanto per la
complessita' tecnica del lavoro, visto che le funzioni utilizzate sono
estremamente semplici, ma per la fantasia che hai dimostrato....del
resto sei un programmatore ed e' il tuo mestiere ;-)
La chiave di tutto era l'utilizzo del calendario interno di excel.
Per quanto riguarda il mio foglio excel occorre una tua risposta
chiara, il fai come vuoi mi lascia un attimino disorientato ;-)
 Se sei incuriosito dal codice VBA e gradisci dargli un'occhiata te lo
mando, altrimenti no, per me e' indifferente.
Ciao

 mando, altrimenti no, per me e' indifferente.
    Se riesci a spiegarmi perche' dovrebbe incuriosirmi una "macro [...] di
una lentezza esasperante" mandamelo pure.
    Nota che con le formule che ti ho inviato (e le correzioni di cui
parlavo) con PIII/667/WIN98SE/XL2k il tempo di ricalcolo e' inferiore ai 2
minuti.


 </miele mode>
LOLLONE
Bye, G.

 LOLLONE
mica ha scritto che e' sua moglie :P
j.melliflua

 j.melliflua
...la suocera ?
http://utenti.lycos.it/umorismo/Suocera.htm
Un Paperino e le barzellette.