Guest User

Untitled

a guest
Feb 20th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. program read_file ;
  2.  
  3. uses
  4. Classes, strutils, sysutils ;
  5.  
  6. type
  7. ProcessedLineType = record
  8. pdf_filename : string ;
  9. claim_id : integer ;
  10. file_id : string ;
  11. returned_date : string ;
  12. end;
  13.  
  14. function ReadFileIntoStringList (const filename : string) : TStringList ;
  15. begin
  16. ReadFileIntoStringList := TStringList.Create ;
  17. ReadFileIntoStringList.LoadFromFile (filename) ;
  18. end ;
  19.  
  20. function ParseProcessedLine (const line : string) : ProcessedLineType ;
  21. (* 123_456.pdf|060508*)
  22. var
  23. underscore_pos : integer ;
  24. period_pos : integer ;
  25. pipe_pos : integer ;
  26. end_pos : integer ;
  27.  
  28. begin
  29. underscore_pos := Pos('_', line) ;
  30. period_pos := Pos('.', line) ;
  31. pipe_pos := Pos('|', line) ;
  32. end_pos := Length(line) ;
  33.  
  34. writeln ('"', Copy(line, 0, underscore_pos-1), '"') ;
  35. Val(Copy(line, 0, underscore_pos-1), ParseProcessedLine.claim_id) ;
  36. ParseProcessedLine.pdf_filename := Copy(line, 0, pipe_pos-1) ;
  37. ParseProcessedLine.file_id := Copy(line, underscore_pos+1, period_pos-underscore_pos-1) ;
  38. ParseProcessedLine.returned_date := Copy(line, pipe_pos+1, end_pos-pipe_pos) ;
  39. end;
  40.  
  41. var
  42. lines : TStringList ;
  43. index : integer ;
  44. the_line : ProcessedLineType ;
  45.  
  46. begin
  47. lines := ReadFileIntoStringList ('20060920.PROCESSED') ;
  48.  
  49. for index := 0 to lines.Count - 1 do
  50. begin
  51. the_line := ParseProcessedLine (lines[index]) ;
  52. writeln (the_line.pdf_filename, ':', the_line.claim_id, ':',
  53. the_line.file_id, ':', the_line.returned_date) ;
  54. end ;
  55. end.
  56.  
  57. // "50665"
  58. // 50665_8268.pdf:-14871:8268:060920
Add Comment
Please, Sign In to add comment