Lucrul cu fișiere

Deschideți Way Pentru modul [Acces Accesul] [Lock] Ca [#] FileNumber [Len = lungime]

Calea - o expresie șir de caractere care specifică numele fișierului

- Setează modul de operare cu fișierul. Valorile valide: Append, binar, intrare, ieșire, sau aleatorie

Accesul - stabilește operațiune permisă pentru a deschide fișierul. Valorile valide sunt: ​​Citire, Scriere sau Citire

Lock - setează operația permisă pentru a deschide un fișier cu alte procese. Valorile valide sunt:

Shared, Blocare citire, scriere Lock și Blocare Citire și FileNumber - numărul dosarului. Un număr cuprins între 1 și 255. Rețineți că numărul fișierului parametru este precedat de simbolul #. Valoarea FileNumber nu poate fi modificată până când se deschide fișierul. Dar atunci când deschideți fișierul FileNumber poate fi un alt număr

lungime - număr mai mic sau egal cu 32767 (bytes). Pentru fișierele deschise în mod aleatoriu, această valoare este lungimea de înregistrare. Pentru fișiere cu acces secvențial, această valoare este numărul de caractere tamponate Despre manual deschis, este de asemenea important să se știe că în timp ce se execută VBA rezervă, de asemenea, tamponul fișier în memorie pentru a accelera procesul de înregistrare și citire (scriere directă în jos informațiile de pe disc poate încetini semnificativ punerea în aplicare a programelor care mai ales atunci când se lucrează cu fișiere mari). Numărul maxim de bufere stabilite în sistemul de fișiere Config.sys

Aici este un exemplu de intrare folosind # instrucțiuni pentru citirea datelor dintr-un fișier. Acest exemplu presupune că discul există fișier gruppaEkonomistov care conține informații despre studenți. Fișierul a fost creat folosind instrucțiunile de a scrie # și este format din două coloane, dintre care mai întâi trebuie să conțină numele, și al doilea - evaluarea studentului. Pentru comoditate, informațiile sunt introduse Studentesti tip de utilizator. Procedura primerispolzovaniyaInput secvențial citește familii, și evaluarea dosarului, și le scoate la celula din prima și a doua coloană a foii de lucru.

„Nume ca șir * 20

Evaluare Ca String * 3

Dim Ca student Studenți

Pentru intrare Ca i = 1 12

Nu face în timp ce EOF (2) Cu Student

Intrare # 2. Nume. evaluare

Celulele (i, 1) .value = .Familiya

Celulele (i, 2) .value = .Otsenka

Aici este un exemplu de utilizare a liniei de introducere # instrucțiuni pentru a citi datele din fișierul gruppaEkonomistov având aceeași structură ca și în exemplul anterior, dar a creat cu declarația de imprimare #. Linia de intrare # instrucțiuni citește întreaga linie din fișierul într-o variabilă șir de caractere. Prin urmare, în acest caz, nu este nevoie de a utiliza un tip personalizat introdus, și doar suficient pentru a limita normală variabilă șir. Toate informațiile citite linie de linie este înscris în lista de .okna de dialog.

Private Sub UserForm_Initialize ()

Student Dim ca șir de

Șterge Do în timp ce nu EOF (l)

Linia de intrare 11, Student

Lucrul cu dosarul de acces aleator

Aici este o informație instrucțiune I / O, atunci când se lucrează cu fișierul de acces aleatoriu, precum și instrucțiunile de determinare a lungimii fișierului și poziția curentă a cursorului în fișierul.

După cum se vede din secțiunea anterioară, de exemplu, pentru citirea de informații prin intermediul manuală de intrare # de fișier gruppaEkonomistov, fișier de acces în serie, uneori, convenabil pentru a specifica o secvență de înregistrări (în acest caz, înregistrările Student), și este format dintr-un grup de domenii, fiecare dintre înregistrările (în acest cazul câmpurile de nume și evaluarea). Rețineți că această grupare de înregistrări nu este ceva inerent fișierelor de acces secvențiale. Această abordare simplă permite de a simplifica procesul de citire secvențială a înregistrărilor. În fișierul de acces secvențial există doar o singură structură internă formată prin separatoare (virgulă sau un caracter special care indică o linie nouă).

Spre deosebire de fișierele de acces secvențiale în fișiere cu acces aleator element de înregistrare este încorporat. fișier de acces aleatoriu - un fișier, sortate prin înregistrările, astfel încât să puteți trece rapid la orice înregistrare, trecând pe cel anterior.

Când creați un fișier de acces aleator indică lungimea maximă a fiecărei înregistrări. Este de la sine înțeles că orice înregistrare pot fi introduse date nu ocupă tot spațiul alocat pentru înregistrare, dar nu puteți introduce date care necesită mai mult spațiu decât lungimea admisibilă a înregistrării. Informații suplimentare vor fi pur și simplu trunchiate.

În practică, este convenabil pentru a crea un fișier separat, care stochează informații despre structura fișierului de acces aleator: structura de înregistrare, lungimea sa și titlurile pe teren.

Rețineți că, atunci când deschideți fișierul cu acces aleator, spre deosebire de fișier de acces secvențial, nu în mod specific indică faptul că este deschis pentru intrare sau de ieșire. De intrare și de ieșire de informații este determinată Pune și Ia comenzi.

Aici un exemplu de operare cu un grup aleatoriu fișier de acces de economiști, care are aceeași structură ca și cea din exemplul anterior. Fișier creat folosind zapisvoayl procedură care secvențial citește datele din prima și a doua coloană a foii de lucru și apoi le introduce într-un fișier. În această procedură, numărul de intrări de intrare este fixă ​​și egală cu 5. Procedura Schityvanieizfayla produce efectul opus - citește datele din dosar și le intră în celulele de a treia și a patra coloană a foii de lucru. O caracteristică interesantă a fișierului de acces aleatoriu este că, atunci când se lucrează cu ea, puteți determina numărul de intrări nu le numărare. Numărul de intrări egal cu raportul dintre dimensiunea fișierului la lungimea de o singură înregistrare. Lungimea de înregistrare este setat pentru a crea fișierul și acces aleator este determinat de tipul variabilei cu care a fost creat fișierul, deschideți dimensiunea fișierului returnează funcția OLF, dar nu a fost încă deschis - funcția FileLen. În acest caz, numărul de înregistrări din fișierul este egal OLF (l) / Len (Student).

Nume ca șir de * 20 Evaluare Ca String * 3

Dim Ca student Studenți

Dim i ca integer

Pentru random Ca # 1 Len = Len (Student)

Nume = celule (i, 1) .value .Otsenka = Cells (i, 2) .value

Exemplul următor permite caseta listă a casetei de dialog pentru a lista toate fișierele din directorul curent:

Private Sub UserForm_Initialize ()

ComboBoxl.Clear Cu Application.FileSearch

FileName = "* .xls" .SearchSubFolders = False

sortorder: = msoSortOrderAscending)> 0 Apoi

Pentru i = 1 Pentru .FoundFiles.Count

Programul afișează anterioare în domeniu, cu lista completă de nume de fișiere, t. E. Numele fișierului și calea. Pentru a afișa numai lista de nume de fișiere (fără o cale), programul trebuie să fie modificat în felul următor:

Private Sub UserForm_Initialize ()

DestName Dim ca șir de

Dim FileName ca șir

Ca Integer Dim DlinaPuti

ComboBoxl.Clear destName = CurDir DlinaPuti = Len (destName)

Cu Application.FileSearch .FileName = "* .xls"

Dacă .Execute (SortBy: = msoSortByFileName,

sortorder: = msoSortOrderAscending)> 0 Apoi

Pentru i = 1 Pentru .FoundFiles.Count

FileName = Dreapta (.FoundFiles (i), Len (.FqundFiles (i))

- DlinaPuti - 1) ComboBoxl.Addltem filename

Știați că acest experiment de gândire, experimentul Gedanken?
Este practic inexistentă, experiența nelumesc, imaginația ceea ce nu este cu adevărat. Am crezut că experimentele sunt similare cu starea de veghe vise. Ele dau naștere la monștri. Spre deosebire de experimentul fizic, care este o testare experimentală a ipotezelor, „experimente de gândire“ substitute de jonglat dorit verificare experimentală, nu este dovedită în practică manipularea PIN construcții logikoobraznymi perturba de fapt chip logic folosind nedovedită probată, adică prin substituție. Astfel, obiectul principal al solicitanților „experimente de gândire“ este ascultător de înșelăciune sau viewer prin înlocuirea sa actuală fizică experiment „papusa“ - argument fictiv de eliberare condiționată fără o verificare fizică în sine.
Umplerea fizica imaginat, „experimente de gândire“, a dus la absurd suprarealist încurcat imagine, confuză a lumii. Acest cercetător trebuie să distingă astfel de „ambalaje de dulciuri“ din valorile reale.

Pozitiviștii și relativiști susțin că „experimentul gândirii“ intrument foarte util pentru a testa teoriile (care apar, de asemenea, în mintea noastră) pentru consecvență. În acest ei înșela oamenii, ca orice verificare poate fi efectuată numai de către o sursă independentă facilitate de testare. Ipoteza reclamantul însuși nu poate fi verificat aceleași declarațiile lor ca cauza acestei cereri nu are contradicții aparente pentru solicitant în cerere.

Aceasta este ceea ce vedem în cazul STR și RTG, au transformat într-un fel de fel de religie, știință și managementul opiniei publice. Nici o cantitate de fapte contrazice ei, nu poate depăși formula lui Einstein: „Dacă faptul nu este în concordanță cu teoria - schimba faptul“ (într-o altă formă de realizare, „- Faptul că teoria nu se potrivește - cu atât mai rău pentru faptul?“).

Maxim, ce se poate califica pentru „experiment de gândire“ - aceasta este doar pentru coerența internă a ipotezei în cadrul propriei sale, de multe ori nu este adevărat logica a solicitantului. Respectă cu practica aceasta nu se verifică. Această verificare poate avea loc numai în experiment fizic real.

Experimentul pe experiment, și că nu este gânduri sofisticate și verificați gândul. Consecvent în sine ideea în sine nu le poate verifica. Acest lucru este dovedit de Kurt Gödel.

Știri
Cavalerii Teoria eter

articole similare