如何找到正弦波的极值,拐点,值为0的点,保存在一个文件中,程序如下:
function myMAX(FirstFile:string):string;
var
   F: TextFile;
   handle1:integer;
   len1:integer;
   iRead: Integer;
   buffer:pchar;
   i:integer;
   s1,s2,s3,s4,s5:shortint;
   ts:tstrings;
   f1:string;
begin
   Result :='';
   Handle1 := FileOpen(FirstFile, fmOpenRead);
   Len1:= FileSeek(Handle1,0,2);
   FileSeek(Handle1,0,0);
   Buffer := Pchar(AllocMem(Len1 + 1));
   iRead := FileRead(Handle1, Buffer^, Len1);
   FileClose(Handle1);   ts:=tstrings.Create;
   try
    for i:=2 to iRead-4 do
      begin
        s1:=ord(buffer[i-2]);
        s2:=ord(buffer[i-1]);
        s3:=ord(buffer[i]);
        s4:=ord(buffer[i+1]);
        s5:=ord(buffer[i+2]);
        if s1>0 then showmessage('asdf');
        if (s1<s3) and (s2<s3) and (s4<s3) and (s5<s3) then
           begin
             showmessage('sadf');
             ts.Add(inttostr(s3));
           end;  
      end;
    finally
      freemem(buffer);
    end;    f1:=changefileext(firstfile,'.MAX');
    handle1:=filecreate(f1);
    if handle1<0 then
     begin
       showmessage('极值点文件建立不成功!');
       exit;
     end;
   fileclose(handle1);   AssignFile(F, f1);
   append(F);   try
      for i:=0 to ts.Count-1 do
        writeln(f,ts.Names[i]);
      Flush(f);
   finally
     CloseFile(F);
     Result := f1;
   end;end;在那个很长的判断处老是报错