Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
[VisualBasic] CUM citire fisier - verificare rand dupa valori multiple
Last Updated: Feb 28 2019 03:18, Started by
sorin147
, Feb 28 2019 00:12
·
0
#1
Posted 28 February 2019 - 00:12
Am un fisier pe care vreau sa-l parcurg si, la fiecare rand, sa-mi caute daca gaseste valorile a, b sau c (de exemplu),
Valorile a, b si c sunt intr-o variabila array. Daca parcurg fisierul cu do until e OK, trece prin fiecare rand. Buba apare atunci cand, ajungand la un rand, vreau sa caute pe randul respectiv daca sunt valori din arrayul in cauza. Asta o fac cu for each insa, in loc sa ramana pe randul respectiv pana termina tot arrayul, trece la randul urmator. Mai pe scurt, la fiecare trecere, foloseste acelasi index de citire si pentru rand si pentru array. O solutie ar fi sa pornesc din array si, la fiecare element. sa citesc fisierul de la capat dar asta nu-mi suna prea bine. Idei? Sugestii? Solutii? CUM MERGE Dim fileName, errors Set fso = CreateObject("Scripting.FileSystemObject") fileName = "<fisierul in cauza>" errors = Array("a","b", "c") processFile() Sub processFile() For Each val in errors Set f = fso.openTextFile(fileName) Do until f.atendofstream MsgBox ("eroare aici " & f.readline & " " & val) Loop f.close Next End Sub Cum mi-as dori sa mearga: sa deschid fisierul o singura data si pentru fiecare rand sa caut erorile Sub processFile() Set f = fso.openTextFile(fileName) Do until f.atendofstream For Each val in errors MsgBox "eroare aici " & f.readline & " " & val Next Loop f.close End Sub Ia, cred ca i-am dat de cap: pentru fiecare rand, o procedura separata care trece prin array. Se poate mai elegant? Sub processFile() Set f = fso.openTextFile(fileName) Do until f.atendofstream processLine(f.readline) Loop f.close End Sub sub processLine(currentLine) for each val in errors msgbox (val & " " & currentLine) next end sub |
#2
Posted 28 February 2019 - 00:31
parca asa, a trecut ceva timp
Private Sub readLines() Dim strLine As String Open path For Input As #id Do While Not EOF(id) Line Input #id, strLine REM process here Loop Close #id End Sub Edited by MarianG, 28 February 2019 - 00:35. |
#3
Posted 28 February 2019 - 03:18
Paseaza randul respectiv ca "string" catre subprocedura de verificare; o sa dau un exemplu acusica.
Sub ProcessFile (sFileName as string) Dim iFileNr as integer, s as String iFileNr=FreeFile Open sFilename for Input as #iFileNr Do While Not EOF(iFileNr) Line Input #iFileNr, s Call ProcessLine (s) Loop Close #iFileNr End Sub Deci, chemi subprocedura ProcessLine cu argumentul s. acu sper ca nu e o mica eroare de sintaxa la Line Input; poate se scrie LineInput de asemenea, se poate face si in cadrul aceleiasi proceduri, un loop in alt loop; foloseste insa variabilele corespunzatoare. Limbajul asta modern cu fso si .Net poate fi diferit de "stilul vechi" pe care l-am folosit; cred insa ca exista backward compatibility. Edited by addysoftware, 28 February 2019 - 03:20. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users