Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Ori nu stie sa numere, ori nu sti...

Austria - confiscarea masinii pen...

Licenta Windows 10
 TRUMP: Un vis american -2017

Ozempic

Sectii ale politiei chineze in Ro...

Viteza net Wifi de 5 ori mai mica...
 Alegere cablu tv

2l combustibil plafonat in Ungaria?

Recomandare TV Oled-Led

Rabla pentru electrocasnice si pr...
 The SKA Project(Square Kilometre ...

Sfat achiziție bicicleta

Samsung Galaxy Tab S6 - Chrome nu...

Intrebare despre pizza, marime si...
 

Copiere linii cu data curenta dintr-un fisier in altul

- - - - -
  • Please log in to reply
10 replies to this topic

#1
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
Salutare,

Va rog daca imi puteti da o idee pentru urmatoarea problema:

Am nevoie sa fac un programel in vb6 care sa-mi citeasca un log si sa copieze din el in alt fisier (nou)  doar inregistrarile din data curenta.
Logul arata de forma:

[2011.03.21 20:28:31][3124:1][INF] Start.
[2011.03.21 20:28:48][3124:1][INF] Movements_Orders_Summary
[2011.03.21 20:29:02][3124:1][INF] Movements_Orders_Draf
[2011.03.21 20:29:12][3124:1][INF] Order OnNewOrders.
[2011.03.21 20:30:26][3124:1][INF] Order OnSave.
[2011.03.21 20:30:29][3124:1][INF] Order OnToReady.
[2011.03.21 20:30:36][3124:1][INF] Movements_Orders_Ready
[2011.03.21 20:30:41][3124:1][INF] Order OnOrderPrint.
[2011.03.21 20:30:41][3124:1][INF] Movements_Orders_Report
[2011.03.21 20:31:43][3124:1][INF] Movements_StockIn_Summary
[2011.03.21 20:32:11][3124:1][INF] NewStockIn
[2011.03.21 20:32:24][3124:1][INF] StockIn OnNewStockIn.
[2011.03.21 20:32:56][3124:1][INF] StockIn OnSave
[2011.03.21 20:33:33][3124:1][INF] Movements_StockIn_Created
[2011.03.21 20:36:38][3124:1][INF] StockIn OnPrint
[2011.03.21 20:36:38][3124:1][INF] Movements_StockIn_Report
[2011.03.21 21:38:01][3124:1][INF] Exit.
[2011.03.22 20:28:31][3124:1][INF] Start.
[2011.03.22 20:28:48][3124:1][INF] Movements_Orders_Summary
[2011.03.22 20:29:02][3124:1][INF] Movements_Orders_Draf
[2011.03.22 20:29:12][3124:1][INF] Order OnNewOrders.
[2011.03.22 20:30:26][3124:1][INF] Order OnSave.
[2011.03.22 20:30:29][3124:1][INF] Order OnToReady.
[2011.03.22 20:30:36][3124:1][INF] Movements_Orders_Ready
[2011.03.22 20:30:41][3124:1][INF] Order OnOrderPrint.
[2011.03.22 20:30:41][3124:1][INF] Movements_Orders_Report
[2011.03.22 20:31:43][3124:1][INF] Movements_StockIn_Summary
[2011.03.22 20:32:11][3124:1][INF] NewStockIn
[2011.03.22 20:32:24][3124:1][INF] StockIn OnNewStockIn.
[2011.03.22 20:32:56][3124:1][INF] StockIn OnSave
[2011.03.22 20:33:33][3124:1][INF] Movements_StockIn_Created
[2011.03.22 20:36:38][3124:1][INF] StockIn OnPrint
[2011.03.22 20:36:38][3124:1][INF] Movements_StockIn_Report
[2011.03.22 21:38:01][3124:1][INF] Exit.

Multumesc anticipat

#2
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 39,840
  • Înscris: 30.07.2003
- deschizi fisierul cu log-urile;
- creezi fisierul destinatie;
- citesti linie cu linie din cel cu log-urile;
- data e situata intre caracterul 2 si 11, extragi acest subsir si-l transformi la tipul data;
- compari cu data sistemului iar daca sunt egale scrii linia in fisierul destinatie;
- sau transformi data sistemului in string si compari cu subsirul - alege tu o varianta;
- inchizi ambele fisiere.

Ce nu stii sa faci din pasii de mai sus ?

Edited by neagu_laurentiu, 23 March 2011 - 13:21.


#3
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
sincer stiu sa deschid si sa creez.. dar ceilalti pasi nu

Dim    a    As Integer

FileNameOld = "C:\program_log.log"
a = FreeFile
Open FileNameOld For Binary Access Read As #a
Close #a


Open "C:\newlog.log" For Append As #b
Print #b, "ceva"
Close #b

#4
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 39,840
  • Înscris: 30.07.2003
Trebuie sa inveti sa poti deslusi documentatia (care e destul de simpla):
http://msdn.microsof.....28VS.60).aspx
http://msdn.microsof.....28VS.60).aspx
http://msdn.microsof.....28VS.60).aspx
...

#5
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
nu ai un link ceva si pentru partea de comparat?
multumesc

#6
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 39,840
  • Înscris: 30.07.2003
Tot acolo ai ce vrei:
http://msdn.microsof.....28VS.60).aspx

#7
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
sper sa ma descurc...

multumesc

#8
bgMiKe

bgMiKe

    Junior Member

  • Grup: Members
  • Posts: 149
  • Înscris: 28.01.2006
1. acces la fisier (deschidere, inchidere)
Nu vad ce treaba ai cu accesul binar la fisier (Open FileNameOld For Binary Access Read As #a asta face).
Incearca FileSystemObject si TextStream.
Foarte simplu de folosit, intuitive apelurile si exemple + explicatii disponibile din plin pe net.

2. citirea
Poti sa citesti linie cu linie (recomandat) si sa compari "coloana" data_ora cu data curenta

strAstazi0 = Format$(now, "yyyy.mm.dd") & " 00:00:01"
strAstazi1 = Format$(now, "yyyy.mm.dd") & " 23:59:59"
cat timp exista linii
	citeste continut linie
	daca substr(continut_linie, 2, 19) intre strAstazi0 si strAstazi1 atunci
		salveaza linia 
	end
repeta


#9
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
am reusit sa citesc linie cu linie si sa scriu in alt fisier

dar nu reusesc sa fac diferenta dupa data...


Private Sub Form_Load()

Open "C:\xampp\htdocs\test\log\oooo\1234567\test.log" For Append As #1
Close #1

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim FSO, MyFile, FileName, TextLine

Set FSO = CreateObject("Scripting.FileSystemObject")

FileName = "C:\xampp\htdocs\test\log\oooo\1234567\1234567_GVR.BackOffice.Movements.log"
FileNameNew = "C:\xampp\htdocs\test\log\oooo\1234567\test.log"

Set MyFile = FSO.OpenTextFile(FileName, ForReading)

Do While MyFile.AtEndOfStream <> True
	TextLine = MyFile.ReadLine
	   
strAstazi0 = Format$(Now, "yyyy.mm.dd") & " 00:00:01"
strAstazi1 = Format$(Now, "yyyy.mm.dd") & " 23:59:59"
 

aici ar trebui sa dac diferenta dupa data....


	Set fs = CreateObject("Scripting.FileSystemObject")
	Set f = fs.OpenTextFile("C:\xampp\htdocs\test\log\oooo\1234567\test.log", ForAppending, TristateFalse)
	f.Write TextLine & vbCrLf
	f.Close
		  
  Loop

MyFile.Close
End
End Sub

de patru ore ma chinui si nu imi iese...  :cursing:

#10
Sorin Nedelcu

Sorin Nedelcu

    Member

  • Grup: Members
  • Posts: 638
  • Înscris: 15.10.2006
Foloseste DateDif

#11
eugen55ro

eugen55ro

    Junior Member

  • Grup: Members
  • Posts: 41
  • Înscris: 18.07.2005
am reusit

multumesc

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate