Thursday, September 06, 2007

Menampilkan file atau folder yang dihidden oleh virus.

Folder atau file yang terkena virus biasanya dihidden secara SH alias System Hidden.
Coba langkah2 berikut ini :

1. Pertama scan dulu dong... make antivirus yang sudah diupdate tentunya.
Jika telah kena, hajar bleh!!... kok kosong yaaaa??...yach emang begitu kaleee... :P
di cek properties masih gede..duh..kemanan nih file?? hehehe..tenang dulu..
2. Buka explorer, aktifkan Folder Option. dari menu Tools.
Pilih view > - Show hidden files and folder
- unmark Hide extension for known file types
- unmark hide protected operating system files (Recommended)
Klik apply OK.
Buka kembali data kita... jika masih ada berarti data anda selamat(kalo gak ada juga, ane masih lom nemu caranya :P).
Klik kanan properties, jreng... kok hiddenya dimatiin yaa??.. hmm... kita coba langkah selanjutnya..
3. Buka command promt, dari menu start > run > ketik "cmd" (tanpa kutip) tekan enter atau klik OK.
4. masuk ke lokasi root folder yang dihidden. ketik "attrib (nama folder)" (tanpa kutip) tekan enter.Contoh D:\attrib drackids
perintah di atas berfungsi untuk memberikan nilai attribut pada folder. Jika nama folder ada spasi gunakan tanda kutip pada namanya contoh : D:\attrib "drackids junior"
akan muncul message sebagai berikut :
A SHR D:\drackids

selanjutnya kita lepas hiddennya, ketik
D:\attrib drackids -s -h
Untuk file tidak perlu menyertakan nama, cukup mengetikan attrib di parent direktori file itu berada.

5. Kini folder anda telah muncul.

semoga bermanfaat.
imam aka drackids

Read More..

Wednesday, September 05, 2007

Convert Image di Delphi

unit ads_GraphicConversion; {
Copyright(c)2001 Advanced Delphi Systems (Richard Maley,12613 Maidens Bower Drive, Potomac, MD 20854 USA, phone 301-840-1554, maley@advdelphisys.com, http://www.advdelphisys.com/)

The code herein can be used or modified by anyone. Please retain references to Dick Maley at Advanced Delphi Systems. If you make improvements to the code please send your improvements to maley@advdelphisys.com so that the entire Delphi community can benefit. All comments are welcome.

}

interface
Uses
Windows,WinProcs,WinTypes, Graphics, Classes, Jpeg, {}GifImage{};

Function BitmapToGif(Bitmap: TBitmap;Gif: TGifImage): Boolean; Overload;
Function BitmapToGif(BitmapFile,GifFile: String): Boolean; Overload;
Function BitmapToGif(BitmapFile,GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Function BitmapToGif(BitmapFile: String): Boolean; Overload;
Function BitmapToGif(BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Function BitmapToJPeg(Bitmap: TBitmap;Jpeg: TJpegImage): Boolean; Overload;
Function BitmapToJPeg(BitmapFile,JpegFile: String): Boolean; Overload;
Function BitmapToJPeg(BitmapFile,JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Function BitmapToJPeg(BitmapFile: String): Boolean; Overload;
Function BitmapToJPeg(BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Function BitmapToTiff(Bitmap: TBitmap;Stream: TStream): Boolean; Overload;
Function BitmapToTiff(Bitmap: TBitmap;TiffFile: String): Boolean; Overload;
Function BitmapToTiff(BitmapFile,TiffFile: String): Boolean; Overload;
Function BitmapToTiff(BitmapFile,TiffFile: String; DeleteSource: Boolean): Boolean; Overload;
Function BitmapToTiff(BitmapFile: String): Boolean; Overload;
Function BitmapToTiff(BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Function GifToBitmap(Gif: TGifImage;Bitmap: TBitmap): Boolean; Overload;
Function GifToBitmap(GifFile,BitmapFile: String): Boolean; Overload;
Function GifToBitmap(GifFile,BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Function GifToBitmap(GifFile: String): Boolean; Overload;
Function GifToBitmap(GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Function GifToJPeg(Gif: TGifImage;Jpeg: TJpegImage): Boolean; Overload;
Function GifToJPeg(GifFile,JpegFile: String): Boolean; Overload;
Function GifToJPeg(GifFile,JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Function GifToJPeg(GifFile: String): Boolean; Overload;
Function GifToJPeg(GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Function GifToTiff(Gif: TGifImage;Stream: TStream): Boolean; Overload;
Function GifToTiff(Gif: TGifImage;TiffFile: String): Boolean; Overload;
Function GifToTiff(GifFile,TiffFile: String): Boolean; Overload;
Function GifToTiff(GifFile,TiffFile: String; DeleteSource: Boolean): Boolean; Overload;
Function GifToTiff(GifFile: String): Boolean; Overload;
Function GifToTiff(GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Function JPegToBitmap(Jpeg: TJpegImage;Bitmap: TBitmap): Boolean; Overload;
Function JPegToBitmap(JpegFile,BitmapFile: String): Boolean; Overload;
Function JPegToBitmap(JpegFile,BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Function JPegToBitmap(JpegFile: String): Boolean; Overload;
Function JPegToBitmap(JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Function JpegToGif(Jpeg: TJpegImage;Gif: TGifImage): Boolean; Overload;
Function JpegToGif(JpegFile,GifFile: String): Boolean; Overload;
Function JpegToGif(JpegFile,GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Function JpegToGif(JpegFile: String): Boolean; Overload;
Function JpegToGif(JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Function JpegToTiff(Jpeg: TJpegImage;Stream: TStream): Boolean; Overload;
Function JpegToTiff(Jpeg: TJpegImage;TiffFile: String): Boolean; Overload;
Function JpegToTiff(JpegFile,TiffFile: String): Boolean; Overload;
Function JpegToTiff(JpegFile,TiffFile: String; DeleteSource: Boolean): Boolean; Overload;
Function JpegToTiff(JpegFile: String): Boolean; Overload;
Function JpegToTiff(JpegFile: String; DeleteSource: Boolean): Boolean; Overload;

implementation

Uses
SysUtils;

Function JPegToBitmap(Jpeg: TJpegImage;Bitmap: TBitmap): Boolean;
Begin
Try
Bitmap.Assign(JPeg);
Result := True;
Except
Result := False;
End;
End;

Function JPegToBitmap(JpegFile,BitmapFile: String): Boolean; Overload;
Var
Bitmap : TBitmap;
Jpeg : TJpegImage;
Begin
Result := False;
If Not FileExists(JpegFile) Then Exit;
Bitmap := TBitmap.Create();
Jpeg := TJpegImage.Create();
Try
Try
Jpeg.LoadFromFile(JpegFile);
Result := JPegToBitmap(Jpeg,Bitmap);
If Result Then
Begin
If FileExists(BitmapFile) Then DeleteFile(BitmapFile);
Bitmap.SaveToFile(BitmapFile);
End;
Except
Result := False;
End;
Finally
Bitmap.Free;
Jpeg .Free;
End;
End;

Function JPegToBitmap(JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Var
FileExtOld : String;
FileExtNew : String;
FileNew : String;
FileOld : String;
Begin
FileOld := JpegFile;
FileExtNew := '.bmp';
Result := False;
If Not FileExists(FileOld) Then Exit;
FileExtOld := ExtractFileExt(FileOld);
FileNew := Copy(FileOld,1,Length(FileOld)-Length(FileExtOld))+FileExtNew;
Result := JPegToBitmap(FileOld,FileNew);
If DeleteSource Then If Result Then If FileExists(FileOld) Then DeleteFile(FileOld);
End;

Function JPegToBitmap(JpegFile: String): Boolean; Overload;
Begin
Result := JPegToBitmap(JpegFile, True);
End;

Function JPegToBitmap(JpegFile,BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Result := JPegToBitmap(JpegFile,BitmapFile);
If DeleteSource Then
Begin
If FileExists(JpegFile) Then DeleteFile(JpegFile);
Result := Not FileExists(JpegFile);
End;
End;

Function BitmapToJPeg(BitmapFile,JpegFile: String): Boolean; Overload;
Var
Bitmap : TBitmap;
Jpeg : TJpegImage;
Begin
Result := False;
If Not FileExists(BitmapFile) Then Exit;
Bitmap := TBitmap.Create();
Jpeg := TJpegImage.Create();
Try
Try
Bitmap.LoadFromFile(BitmapFile);
Result := BitmapToJPeg(Bitmap,Jpeg);
If Result Then
Begin
If FileExists(JpegFile) Then DeleteFile(JpegFile);
Jpeg.SaveToFile(JpegFile);
End;
Except
Result := False;
End;
Finally
Bitmap.Free;
Jpeg .Free;
End;
End;

Function BitmapToJPeg(Bitmap: TBitmap;Jpeg: TJpegImage): Boolean;
Begin
Try
Jpeg.Assign(Bitmap);
Result := True;
Except
Result := False;
End;
End;

Function BitmapToJPeg(BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Var
FileExtOld : String;
FileExtNew : String;
FileNew : String;
FileOld : String;
Begin
FileOld := BitmapFile;
FileExtNew := '.jpg';
Result := False;
If Not FileExists(FileOld) Then Exit;
FileExtOld := ExtractFileExt(FileOld);
FileNew := Copy(FileOld,1,Length(FileOld)-Length(FileExtOld))+FileExtNew;
Result := BitmapToJpeg(FileOld,FileNew);
If DeleteSource Then If Result Then If FileExists(FileOld) Then DeleteFile(FileOld);
End;

Function BitmapToJPeg(BitmapFile: String): Boolean; Overload;
Begin
Result := BitmapToJPeg(BitmapFile, True);
End;

Function BitmapToJPeg(BitmapFile,JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Result := BitmapToJPeg(BitmapFile,JpegFile);
If DeleteSource Then
Begin
If FileExists(BitmapFile) Then DeleteFile(BitmapFile);
Result := Not FileExists(BitmapFile);
End;
End;

Function GifToBitmap(Gif: TGifImage;Bitmap: TBitmap): Boolean;
begin
Result := False;
If Gif = nil Then Exit;
Try
Bitmap.Assign(Gif.Bitmap);
Result := True;
Except
Result := False;
End;
end;

Function GifToBitmap(GifFile,BitmapFile: String): Boolean; Overload;
Var
Bitmap : TBitmap;
Gif : TGifImage;
Begin
Result := False;
If Not FileExists(GifFile) Then Exit;
Bitmap := TBitmap.Create();
Gif := TGifImage.Create();
Try
Try
Gif.LoadFromFile(GifFile);
Result := GifToBitmap(Gif,Bitmap);
If Result Then
Begin
If FileExists(BitmapFile) Then DeleteFile(BitmapFile);
Bitmap.SaveToFile(BitmapFile);
End;
Except
Result := False;
End;
Finally
Bitmap.Free;
Gif .Free;
End;
End;

Function GifToBitmap(GifFile,BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Result := GifToBitmap(GifFile,BitmapFile);
If DeleteSource Then
Begin
If FileExists(GifFile) Then DeleteFile(GifFile);
Result := Not FileExists(GifFile);
End;
End;

Function GifToBitmap(GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Var
FileExtOld : String;
FileExtNew : String;
FileNew : String;
FileOld : String;
Begin
FileOld := GifFile;
FileExtNew := '.bmp';
Result := False;
If Not FileExists(FileOld) Then Exit;
FileExtOld := ExtractFileExt(FileOld);
FileNew := Copy(FileOld,1,Length(FileOld)-Length(FileExtOld))+FileExtNew;
Result := GifToBitmap(FileOld,FileNew);
If DeleteSource Then If Result Then If FileExists(FileOld) Then DeleteFile(FileOld);
End;

Function GifToBitmap(GifFile: String): Boolean; Overload;
Begin
Result := GifToBitmap(GifFile, True);
End;

Function BitmapToGif(BitmapFile,GifFile: String): Boolean; Overload;
Var
Bitmap : TBitmap;
Gif : TGifImage;
Begin
Result := False;
If Not FileExists(BitmapFile) Then Exit;
Bitmap := TBitmap.Create();
Gif := TGifImage.Create();
Try
Try
Bitmap.LoadFromFile(BitmapFile);
Result := BitmapToGif(Bitmap,Gif);
If Result Then
Begin
If FileExists(GifFile) Then DeleteFile(GifFile);
Gif.SaveToFile(GifFile);
End;
Except
Result := False;
End;
Finally
Bitmap.Free;
Gif .Free;
End;
End;

Function BitmapToGif(Bitmap: TBitmap;Gif: TGifImage): Boolean;
Begin
Try
Gif.Assign(Bitmap);
Result := True;
Except
Result := False;
End;
End;

Function BitmapToGif(BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Var
FileExtOld : String;
FileExtNew : String;
FileNew : String;
FileOld : String;
Begin
FileOld := BitmapFile;
FileExtNew := '.gif';
Result := False;
If Not FileExists(FileOld) Then Exit;
FileExtOld := ExtractFileExt(FileOld);
FileNew := Copy(FileOld,1,Length(FileOld)-Length(FileExtOld))+FileExtNew;
Result := BitmapToGif(FileOld,FileNew);
If DeleteSource Then If Result Then If FileExists(FileOld) Then DeleteFile(FileOld);
End;

Function BitmapToGif(BitmapFile: String): Boolean; Overload;
Begin
Result := BitmapToGif(BitmapFile, True);
End;

Function BitmapToGif(BitmapFile,GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Result := BitmapToGif(BitmapFile,GifFile);
If DeleteSource Then
Begin
If FileExists(BitmapFile) Then DeleteFile(BitmapFile);
Result := Not FileExists(BitmapFile);
End;
End;

Function GifToJpeg(Gif: TGifImage;Jpeg: TJpegImage): Boolean; Overload;
Var
Bitmap : TBitmap;
Begin
Result := False;
If Gif = nil Then Exit;
Try
Bitmap := TBitmap.Create();
Try
Bitmap.Assign(Gif.Bitmap);
Result := BitmapToJPeg(Bitmap,Jpeg);
Finally
Bitmap.Free;
End;
Except
Result := False;
End;
End;

Function GifToJPeg(GifFile,JpegFile: String): Boolean; Overload;
Var
Gif : TGifImage;
Jpeg : TJpegImage;
Begin
Result := False;
If Not FileExists(GifFile) Then Exit;
Gif := TGifImage .Create();
Jpeg := TJpegImage.Create();
Try
Try
Gif.LoadFromFile(GifFile);
Result := GifToJPeg(Gif,Jpeg);
If Result Then
Begin
If FileExists(JpegFile) Then DeleteFile(JpegFile);
Jpeg.SaveToFile(JpegFile);
End;
Except
Result := False;
End;
Finally
Gif .Free;
Jpeg .Free;
End;
End;

Function GifToJPeg(GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Var
FileExtOld : String;
FileExtNew : String;
FileNew : String;
FileOld : String;
Begin
FileOld := GifFile;
FileExtNew := '.jpg';
Result := False;
If Not FileExists(FileOld) Then Exit;
FileExtOld := ExtractFileExt(FileOld);
FileNew := Copy(FileOld,1,Length(FileOld)-Length(FileExtOld))+FileExtNew;
Result := GifToJpeg(FileOld,FileNew);
If DeleteSource Then If Result Then If FileExists(FileOld) Then DeleteFile(FileOld);
End;

Function GifToJPeg(GifFile: String): Boolean; Overload;
Begin
Result := GifToJPeg(GifFile, True);
End;

Function GifToJPeg(GifFile,JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Result := GifToJPeg(GifFile,JpegFile);
If DeleteSource Then
Begin
If FileExists(GifFile) Then DeleteFile(GifFile);
Result := Not FileExists(GifFile);
End;
End;

//******************************************************************************

Function JpegToGif(Jpeg: TJpegImage;Gif: TGifImage): Boolean; Overload;
Var
Bitmap : TBitmap;
Begin
Result := False;
If Jpeg = nil Then Exit;
Try
Bitmap := TBitmap.Create();
Try
Bitmap.Assign(Jpeg);
Result := BitmapToGif(Bitmap,Gif);
Finally
Bitmap.Free;
End;
Except
Result := False;
End;
End;

Function JpegToGif(JpegFile,GifFile: String): Boolean; Overload;
Var
Jpeg : TJpegImage;
Gif : TGifImage;
Begin
Result := False;
If Not FileExists(JpegFile) Then Exit;
Jpeg := TJpegImage .Create();
Gif := TGifImage.Create();
Try
Try
Jpeg.LoadFromFile(JpegFile);
Result := JpegToGif(Jpeg,Gif);
If Result Then
Begin
If FileExists(GifFile) Then DeleteFile(GifFile);
Gif.SaveToFile(GifFile);
End;
Except
Result := False;
End;
Finally
Jpeg .Free;
Gif .Free;
End;
End;

Function JpegToGif(JpegFile: String; DeleteSource: Boolean): Boolean; Overload;
Var
FileExtOld : String;
FileExtNew : String;
FileNew : String;
FileOld : String;
Begin
FileOld := JpegFile;
FileExtNew := '.jpg';
Result := False;
If Not FileExists(FileOld) Then Exit;
FileExtOld := ExtractFileExt(FileOld);
FileNew := Copy(FileOld,1,Length(FileOld)-Length(FileExtOld))+FileExtNew;
Result := JpegToGif(FileOld,FileNew);
If DeleteSource Then If Result Then If FileExists(FileOld) Then DeleteFile(FileOld);
End;

Function JpegToGif(JpegFile: String): Boolean; Overload;
Begin
Result := JpegToGif(JpegFile, True);
End;

Function JpegToGif(JpegFile,GifFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Result := JpegToGif(JpegFile,GifFile);
If DeleteSource Then
Begin
If FileExists(JpegFile) Then DeleteFile(JpegFile);
Result := Not FileExists(JpegFile);
End;
End;

Function BitmapToTiff(Bitmap: TBitmap;TiffFile: String): Boolean; Overload;
Var
Stream : TFileStream;
Begin
Result := False;
If Bitmap = nil Then Exit;
If Bitmap.Handle = 0 Then Exit;
Try
Stream := TFileStream.Create(TiffFile,fmCreate);
Try
If FileExists(TiffFile) Then DeleteFile(TiffFile);
Result := BitmapToTiff(Bitmap,Stream);
Finally
Stream.Free;
End;
Except
Result := False;
End;
End;

Function BitmapToTiff(BitmapFile,TiffFile: String): Boolean; Overload;
Var
Bitmap : TBitmap;
Begin
Result := False;
If Not FileExists(BitmapFile) Then Exit;
Try
Bitmap := TBitmap.Create();
Try
Bitmap.LoadFromFile(BitmapFile);
Result := BitmapToTiff(Bitmap,TiffFile);
Finally
Bitmap.Free;
End;
Except
Result := False;
End;
End;

Function BitmapToTiff(BitmapFile,TiffFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Try
Result := BitmapToTiff(BitmapFile,TiffFile);
If Result Then If DeleteSource Then DeleteFile(BitmapFile);
Except
Result := False;
End;
End;

Function BitmapToTiff(BitmapFile: String; DeleteSource: Boolean): Boolean; Overload;
Begin
Try
Result := BitmapToTiff(BitmapFile,ChangeFileExt(BitmapFile,'.tif'));
If Result Then If DeleteSource Then DeleteFile(BitmapFile);
Except
Result := False;
End;
End;

Function BitmapToTiff(BitmapFile: String): Boolean; Overload;
Begin
Try
Result := BitmapToTiff(BitmapFile,True);
Except
Result := False;
End;
End;

//***START TIFF ROUTINES BY Wolfgang Krug ****************************************

type
PDirEntry = ^TDirEntry;
TDirEntry = record
_Tag : Word;
_Type : Word;
_Count : LongInt;
_Value : LongInt;
end;

{$IFDEF WINDOWS}
CONST
{$ELSE}
VAR
{$ENDIF}
{ TIFF File Header: }
TifHeader : array[0..7] of Byte = (
$49, $49, { Intel byte order }
$2a, $00, { TIFF version (42) }
$08, $00, $00, $00 ); { Pointer to the first directory }

NoOfDirs : array[0..1] of Byte = ( $0F, $00 ); { Number of tags within the directory }

DirectoryBW : array[0..13] of TDirEntry = (
( _Tag: $00FE; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { NewSubFile: Image with full solution (0) }
( _Tag: $0100; _Type: $0003; _Count: $00000001; _Value: $00000000 ), { ImageWidth: Value will be set later }
( _Tag: $0101; _Type: $0003; _Count: $00000001; _Value: $00000000 ), { ImageLength: Value will be set later }
( _Tag: $0102; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { BitsPerSample: 1 }
( _Tag: $0103; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { Compression: No compression }
( _Tag: $0106; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { PhotometricInterpretation: 0, 1 }
( _Tag: $0111; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { StripOffsets: Ptr to the adress of the image data }
( _Tag: $0115; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { SamplesPerPixels: 1 }
( _Tag: $0116; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { RowsPerStrip: Value will be set later }
( _Tag: $0117; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { StripByteCounts: xs*ys bytes pro strip }
( _Tag: $011A; _Type: $0005; _Count: $00000001; _Value: $00000000 ), { X-Resolution: Adresse }
( _Tag: $011B; _Type: $0005; _Count: $00000001; _Value: $00000000 ), { Y-Resolution: (Adresse) }
( _Tag: $0128; _Type: $0003; _Count: $00000001; _Value: $00000002 ), { Resolution Unit: (2)= Unit ZOLL }
( _Tag: $0131; _Type: $0002; _Count: $0000000A; _Value: $00000000 )); { Software: }

DirectoryCOL : array[0..14] of TDirEntry = (
( _Tag: $00FE; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { NewSubFile: Image with full solution (0) }
( _Tag: $0100; _Type: $0003; _Count: $00000001; _Value: $00000000 ), { ImageWidth: Value will be set later }
( _Tag: $0101; _Type: $0003; _Count: $00000001; _Value: $00000000 ), { ImageLength: Value will be set later }
( _Tag: $0102; _Type: $0003; _Count: $00000001; _Value: $00000008 ), { BitsPerSample: 4 or 8 }
( _Tag: $0103; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { Compression: No compression }
( _Tag: $0106; _Type: $0003; _Count: $00000001; _Value: $00000003 ), { PhotometricInterpretation: 3 }
( _Tag: $0111; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { StripOffsets: Ptr to the adress of the image data }
( _Tag: $0115; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { SamplesPerPixels: 1 }
( _Tag: $0116; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { RowsPerStrip: Value will be set later }
( _Tag: $0117; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { StripByteCounts: xs*ys bytes pro strip }
( _Tag: $011A; _Type: $0005; _Count: $00000001; _Value: $00000000 ), { X-Resolution: Adresse }
( _Tag: $011B; _Type: $0005; _Count: $00000001; _Value: $00000000 ), { Y-Resolution: (Adresse) }
( _Tag: $0128; _Type: $0003; _Count: $00000001; _Value: $00000002 ), { Resolution Unit: (2)= Unit ZOLL }
( _Tag: $0131; _Type: $0002; _Count: $0000000A; _Value: $00000000 ), { Software: }
( _Tag: $0140; _Type: $0003; _Count: $00000300; _Value: $00000008 ) );{ ColorMap: Color table startadress }

DirectoryRGB : array[0..14] of TDirEntry = (
( _Tag: $00FE; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { NewSubFile: Image with full solution (0) }
( _Tag: $0100; _Type: $0003; _Count: $00000001; _Value: $00000000 ), { ImageWidth: Value will be set later }
( _Tag: $0101; _Type: $0003; _Count: $00000001; _Value: $00000000 ), { ImageLength: Value will be set later }
( _Tag: $0102; _Type: $0003; _Count: $00000003; _Value: $00000008 ), { BitsPerSample: 8 }
( _Tag: $0103; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { Compression: No compression }
( _Tag: $0106; _Type: $0003; _Count: $00000001; _Value: $00000002 ), { PhotometricInterpretation:
0=black, 2 power BitsPerSample -1 =white }
( _Tag: $0111; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { StripOffsets: Ptr to the adress of the image data }
( _Tag: $0115; _Type: $0003; _Count: $00000001; _Value: $00000003 ), { SamplesPerPixels: 3 }
( _Tag: $0116; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { RowsPerStrip: Value will be set later }
( _Tag: $0117; _Type: $0004; _Count: $00000001; _Value: $00000000 ), { StripByteCounts: xs*ys bytes pro strip }
( _Tag: $011A; _Type: $0005; _Count: $00000001; _Value: $00000000 ), { X-Resolution: Adresse }
( _Tag: $011B; _Type: $0005; _Count: $00000001; _Value: $00000000 ), { Y-Resolution: (Adresse) }
( _Tag: $011C; _Type: $0003; _Count: $00000001; _Value: $00000001 ), { PlanarConfiguration:
Pixel data will be stored continous }
( _Tag: $0128; _Type: $0003; _Count: $00000001; _Value: $00000002 ), { Resolution Unit: (2)= Unit ZOLL }
( _Tag: $0131; _Type: $0002; _Count: $0000000A; _Value: $00000000 )); { Software: }

NullString : array[0..3] of Byte = ( $00, $00, $00, $00 );
X_Res_Value : array[0..7] of Byte = ( $6D,$03,$00,$00, $0A,$00,$00,$00 ); { Value for X-Resolution:
87,7 Pixel/Zoll (SONY SCREEN) }
Y_Res_Value : array[0..7] of Byte = ( $6D,$03,$00,$00, $0A,$00,$00,$00 ); { Value for Y-Resolution: 87,7 Pixel/Zoll }
Software : array[0..9] of Char = ( 'K', 'r', 'u', 'w', 'o', ' ', 's', 'o', 'f', 't');
BitsPerSample : array[0..2] of Word = ( $0008, $0008, $0008 );

Function BitmapToTiff(Bitmap: TBitmap;Stream: TStream): Boolean; Overload;
//Function WriteTiffToStream ( Stream : TStream; Bitmap : TBitmap ): Boolean;
var
BM : HBitmap;
Header, Bits : PChar;
BitsPtr : PChar;
TmpBitsPtr : PChar;
HeaderSize : {$IFDEF WINDOWS} INTEGER {$ELSE} DWORD {$ENDIF} ;
BitsSize : {$IFDEF WINDOWS} LongInt {$ELSE} DWORD {$ENDIF} ;
Width, Height: {$IFDEF WINDOWS} LongInt {$ELSE} Integer {$ENDIF} ;
DataWidth : {$IFDEF WINDOWS} LongInt {$ELSE} Integer {$ENDIF} ;
BitCount : {$IFDEF WINDOWS} LongInt {$ELSE} Integer {$ENDIF} ;
ColorMapRed : array[0..255,0..1] of Byte;
ColorMapGreen: array[0..255,0..1] of Byte;
ColorMapBlue : array[0..255,0..1] of Byte;
ColTabSize : Integer;
I, K : {$IFDEF WINDOWS} LongInt {$ELSE} Integer {$ENDIF} ;
Red, Blue : Char;
{$IFDEF WINDOWS}
RGBArr : Packed Array[0..2] OF CHAR ;
{$ENDIF}
BmpWidth : {$IFDEF WINDOWS} LongInt {$ELSE} Integer {$ENDIF} ;
OffsetXRes : LongInt;
OffsetYRes : LongInt;
OffsetSoftware : LongInt;
OffsetStrip : LongInt;
OffsetDir : LongInt;
OffsetBitsPerSample : LongInt;
{$IFDEF WINDOWS}
MemHandle : THandle ;
MemStream : TMemoryStream ;
ActPos, TmpPos : LongInt;
{$ENDIF}
Begin
Result := False;
Try
BM := Bitmap.Handle;
if BM = 0 then exit;
Result := True;
GetDIBSizes(BM, HeaderSize, BitsSize);
{$IFDEF WINDOWS}
MemHandle := GlobalAlloc ( HeapAllocFlags, HeaderSize + BitsSize ) ;
Header := GlobalLock ( MemHandle ) ;
MemStream := TMemoryStream.Create ;
{$ELSE}
GetMem (Header, HeaderSize + BitsSize);
{$ENDIF}
try
Bits := Header + HeaderSize;
if GetDIB(BM, Bitmap.Palette, Header^, Bits^) then
begin
{ Read Image description }
Width := PBITMAPINFO(Header)^.bmiHeader.biWidth;
Height := PBITMAPINFO(Header)^.bmiHeader.biHeight;
BitCount := PBITMAPINFO(Header)^.bmiHeader.biBitCount;

{$IFDEF WINDOWS}
{ Read Bits into MemoryStream for 16 - Bit - Version }
MemStream.Write ( Bits^, BitsSize ) ;
{$ENDIF}

{ Count max No of Colors }
ColTabSize := (1 shl BitCount);
BmpWidth := Trunc(BitsSize / Height);

{ ========================================================================== }
{ 1 Bit - Bilevel-Image }
{ ========================================================================== }
if BitCount = 1 then // Monochrome Images
begin
DataWidth := ((Width+7) div 8);

DirectoryBW[1]._Value := LongInt(Width); { Image Width }
DirectoryBW[2]._Value := LongInt(abs(Height)); { Image Height }
DirectoryBW[8]._Value := LongInt(abs(Height)); { Rows per Strip }
DirectoryBW[9]._Value := LongInt(DataWidth * abs(Height) ); { Strip Byte Counts }

{ Write TIFF - File for Bilevel-Image }
{-------------------------------------}
{ Write Header }
Stream.Write ( TifHeader,sizeof(TifHeader) );

OffsetStrip := Stream.Position ;
{ Write Image Data }

if Height < bitcount =" 4" bitcount =" 4" bitcount =" 24" bitcount =" 32" bitcount =" 32" gif =" nil" gif =" nil" jpeg =" nil" jpeg =" nil">

Read More..

Tuesday, September 04, 2007

Lokasi Outbound/ Agrowisata

1. Kebun Wisata Pasir Mukti. Lokasi sekitar 45 menit dari Jakarta,bentuknya agriwisata dimana kita bisa memetik buah, belajar menanam macam-macam, memancing, main Lumpur, memetik buah, api unggun, poco-poco dan menginap di guesthouse/ cottage. Biaya Rp 250.000/ person untuk menginap, termasuk breakfast, lunch dan dinner. Reservation: Jl. Raya Tajur Pasirmukti Km. 4, Citeureup Bogor. Ph: (021) 8763564-65, 7398808Fax (021)8763566


2. Citarik One Stop Adventure. Lokasi di citarik, Lokasi Adventure milik pasangan Lody Korua dan Amalia yunita yang pencinta alam ini memiliki berbagai kegiatan seru dan menarik, diantaranya: adventure rafting trip, terus ada cottage yang seru-seru (misalnya dibuat dari tenda atau kayu-kayu/tradisional cottage, pokoknya seperti camping deh), terus ada BBQ, family trecking trip, paintball, adventure offroad trip terus ada lokasi outdoor experiential education untuk anak-anak yang aman dan seru.pokoknya lokasi ini seru banget terutama untuk anak-anak cowok yang sudah SD ke atas!!!!Biaya: antara Rp44.000 s/d Rp 350.000, tergantung kegiatan yang dipilih.Reservation: PT Lintas Jeram Nusantara, Graha macula, Ground Floor, Jl. K.H.Abdullah Syafi'ie No. 5 (d/h: Jl. Lapangan Roos Raya) Jakarta 12840.Ph.(021) 8355885, 9259230, 0811103397, Fax: 8314834

3. Tanah Tingal. Tempat rekreasi keluarga, anak dan agrowisata dengan fasilitas kolam renang, restauran (menunya pasundan euy, bisa dipesan dan jadi kegiatan andalan di sini soalnya katanya enak pisan) pondok seni, taman bermain dengan permainan tradisional, kebun pembibitan, peternakan, jalur sepeda, tempat berkemah, pondok menginap serta rumah pohon untuk anak 5 - 15 thn dengan paket sesuai permintaan. Reservation: Jl. Merpati Raya no.32B, Desa Sawah Baru, Jombang, Ciputat 15400, Tanggerang. Ph. 7433131

4. Agro Wisata Tanaman Obat. Terletak di desa Karyasari, Leuwlliang,Bogor, di sini ada 420 jenis tanaman obat, disana bisa sambil wisata boga,makan makanan sunda! Biaya Rp 75.000,- plus pemandu penjelasan keliling kebun. Jl. Raya Karacak-Cianten KM 10, Desa Karyasari, Leuwiliang, Bogor, telp. 0251-42872438

5. Program Pulang Kampung desa Cinangneng. Letak 1 km dari kampus IPB, Dermaga Jl. Babakan Kemang RT1, RW2, Cihideung, Kec. Ciampea, Bogor. Untuk weekend sama keluarga bisa nyewa 1 vila untuk 2 orang Rp 300.000, atau satu bungalow dengan dua kamar, @ Rp 275.000,- termasuk makan 3 kali, sama tour de desa. Tapi yang seru kalau group, min. 20 orang @ Rp 215.000,- Itu termasuk makan 3 kali plus snack 2 kali plus tour de desa, belajar bercocok tanam, belajar main gamelan dan tari sunda, belajar membuat permainan anak desa, memandikan kerbau, main di sungai, malam: ronda desa sambil di jamu di rumah penduduk, api unggun dan makan jagung bakar...seru enggak tuuuuuuh!!!!!

6. Ekowisata Bukit Sentul. Jl. Siliwangi, Taman Budaya – Bukit Sentul. Telp. (021) 8796 1579-80 Fax : (021) 8796 1578

7. Doctor Rabbit Science & adventures Preschool. Kadang kalau liburan tempat ini menyediakan camping untuk anak-anak dimana anak bisa bermain di alam terbuka sambil bereksperimen science sederhana. Jl. Taman Sari I No. 77, Karang Tengah Lebak Bulus, Jaksel Ph: 7508371- 7694786

8. Karavan Vila Apel Gardena. Liburan bersama keluarga di alam pegunungan sekaligus bermalam di karavan. Tersedia aneka fasilitas untuk orang dewasa juga anak-anak. Harga sewa per malam Rp. 200 ribu. Untuk hari libur/raya Rp 250.000. Alamat: Vila Apel Gardena Cipanas, Puncak. Telp. (0263) 511 901-3, 519 856. Fax. (0263) 511 953.

9. Caldera Ed Venture Program (CEVP). Di sini anak bisa bermain outbound. Biaya Rp 100.000 per anak untuk paket 1 hari.Customer service: Kaki Lintas Katulistiwa, Gd. Nariba Plaza Unit D-13, JI. Mampang Prapatan Raya No. 39, Jaksel. Telp. (021) 7919 6633. Fax. (021) 7919 6644. Email: alderaedventure@excite.com

10. Taman Nasional Gunung Halimun. Anak bisa bertualang masuk-keluar hutan, melihat langsung satwa liar, dan bermain di air terjun. Tersedia juga arena kemping dan tempat menginap.Tiket masuk sekitar Rp. 3.000 untuk anak-anak.Alamat: JI. Raya Cipanas, Kabandungan. PO Box 2 Parung Kuda, Sukabumi. Telp. (0266) 621 256. Fax. (0266) 621 257.

11. Taman Nasional Gunung Pantjar. Selain piknik, anak bisa melakukan kegiatan menjaga kesehatan dan pemulihan kekuatan fisik seperti terapi akupunktur, air panas mineral. Alamat: Taman Nasional Gunung Pantjar, Bogor. Telp. (021) 917 3208

12. Taman Buah Mekarsari. Anak bisa belajar jadi patani, malah bisa menuai, memakan, serta membawa pulang hasilnya. Biaya Rp. 100.000 per anak.Alamat: Jl. Raya Cileungsi-Jonggol Km.3, Cileungsi, Bogor 16820. Telp.(021)823 1811-13 Fax. (021) 823 1475. Email: tbm@mekarsari.com atau fruitina@rad.net.id. Website: www.fruitina.com

13. Safari Trek. Masih dalam kawasan Taman Safari Indonesia, Cisarua, Bogor, anak bisa merasakan dirinya menjadi pendaki gunung dan penjelajah alam bebas. Mereka pun bisa bertemu dan saling menyapa langsung dengan Gajah pekerja.Biaya Rp. 15.000 per orang. Alamat: Taman Safari Indonesia, Cisarua, Bogor-Jabar. Telp (0251) 253 222.

14. Kampoeng Maen. Ini adalah kampungnya anak untuk bermain. Biaya Rp.35.000. Costumer Service: Jl. Mampang Prapatan Raya No. 39 Jaksel Telp.(021)7919 6633, Fax: (021) 7919 6644.

15. Pusat Primata Schmutzer. Di kawasan ini anak bisa melihat secara langsung kenekaragaman hewan primata, termasuk gorila. Tarif masuk mulai Rp.2000. Alamat: Taman Margasatwa Ragunan, JI. Harsono RM No. 1, Ragunan, Jakarta 12550. Telp. (021) 780 6975, 789 0615. Fax. (021) 780 5280

Read More..

ampun dan maaf

Puasa tinggal sesaat lagi...
maka dengan segala kerendahan hati
agar dapat menjalankan ibadah puasa nanti
dengan ini mahluk bernama imam wardany
memohon ampun dan maaf selama masa kebelakang dalam bergaul terdapat hal yang tidak berkenan bagi saudaraku semua...
begitupun terhadap saudaraku semua tlah terhapus segala rasa yang mengajal didada.

wabillahi taufik wal hidayah wassalamu'alaikum wr wb

Read More..

Thursday, December 23, 2004