whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

76 Visitors Online


 
...check if a file has an ASCII format?
Autor: Fabio Cillo
Homepage: http://web.tiscalinet.it/fabiocillo
[ Print tip ]  

Tip Rating (4):  
     


function isAscii(NomeFile: string): Boolean;
const
  
SETT = 2048;
var
  
i: Integer;
  F: file;
  a: Boolean;
  TotSize, IncSize, ReadSize: Integer;
  c: array[0..Sett] of Byte;
begin
  if 
FileExists(NomeFile) then
  begin
    
{$I-}
    
AssignFile(F, NomeFile);
    Reset(F, 1);
    TotSize := FileSize(F);
    IncSize := 0;
    a       := True;
    while (IncSize < TotSize) and (a = True) do
    begin
      
ReadSize := SETT;
      if IncSize + ReadSize > TotSize then ReadSize := TotSize - IncSize;
      IncSize := IncSize + ReadSize;
      BlockRead(F, c, ReadSize);
      // Iterate
      
for i := 0 to ReadSize - 1 do
        if 
(c[i] < 32) and (not (c[i] in [9, 10, 13, 26])) then a := False;
    end{ while }
    
CloseFile(F);
    {$I+}
    
if IOResult <> 0 then Result := False
    else 
      
Result := a;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if 
OpenDialog1.Execute then
    if 
isAscii(OpenDialog1.FileName) then
      
ShowMessage('ASCII File');
end;


 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners