PLUGIN_NAME = '2chPlugIn';
MAJOR_VERSION = 1;
MINOR_VERSION = 0;
- RELEASE_VERSION = 'alpha';
- REVISION_VERSION = 2;
+ RELEASE_VERSION = 'beta';
+ REVISION_VERSION = 1;
// =========================================================================
// \8eG\97p\8aÖ\90\94
datURL :=
uri.Protocol + '://' + uri.Host + '/' +
uriList[ 3 ] + '/dat/' + uriList[ 4 ] + '.dat';
- responseCode := InternalDownload( PChar( datURL ), modified, tmp, logStream.Size );
+ // \82 \82Ú\81[\82ñ\83`\83F\83b\83N\82Ì\82½\82ß 1 \83o\83C\83g\91O\82©\82ç\8eæ\93¾\82·\82é
+ // \81¦\83\8d\83O\82Æ\8eI\82Ì dat \82Í\89ü\8ds\83R\81[\83h\82ª\88á\82¤\82½\82ß\83t\83@\83C\83\8b\83T\83C\83Y\82ª\95Ï\82í\82Á\82Ä\82¢\82é\82±\82Æ\82É\92\8d\88Ó
+ responseCode := InternalDownload( PChar( datURL ), modified, tmp, Max( 0, Size - 1 ) );
try
if (responseCode = 200) or (responseCode = 206) then begin
try
tmpLen := StrLen( tmp );
- IsLogFile := True;
+ if Count = 0 then begin
+ Result := dsComplete;
+ downResult.Text := string( tmp ); // \83J\83E\83\93\83g\82Ì\82½\82ß\82¾\82¯
+ logStream.Position := logStream.Size;
+ logStream.Write( (tmp)^, tmpLen );
- if Count = 0 then
- Result := dsComplete
- else
- Result := dsDiffComplete;
- if (Count = 0) or (LF = tmp^) then begin
+ NewReceive := Count + 1;
+ Count := Count + downResult.Count;
+ NewResCount := downResult.Count;
+ Size := tmpLen;
+ end else if LF = tmp^ then begin
// \90V\8bK\81A\82Ü\82½\82Í\92Ç\8bL
+ Result := dsDiffComplete;
downResult.Text := string( tmp + 1 ); // \83J\83E\83\93\83g\82Ì\82½\82ß\82¾\82¯
logStream.Position := logStream.Size;
logStream.Write( (tmp + 1)^, tmpLen - 1 );
NewReceive := Count + 1;
Count := Count + downResult.Count;
NewResCount := downResult.Count;
+ Size := Size + tmpLen - 1;
end else begin
// \82 \82Ú\81[\82ñ
- modified := LastModified;
+ Result := dsDiffComplete;
// \8dÄ\8eæ\93¾
+ modified := LastModified;
responseCode := InternalDownload(
- PChar( datURL ), modified, tmp2, 0, logStream.Size - 1 );
+ PChar( datURL ), modified, tmp2, 0, Size );
logStream.Position := 0;
logStream.Write( tmp2, StrLen( tmp2 ) );
logStream.Write( tmp, tmpLen );
NewReceive := 1;
Count := downResult.Count;
NewResCount := Count - NewReceive + 1;
+ Size := StrLen( tmp2 ) + tmpLen;
end;
LastModified := modified;
RoundDate := Now;
+ IsLogFile := True;
finally
downResult.Free;
end;