![]() |
|
function hata alıyorum - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: function hata alıyorum (/showthread.php?tid=4987) |
function hata alıyorum - info@guzelceker.com - 20-06-2020 Function UzantiRengi(FotoUzanti:String):TColor; begin case FotoUzanti of 'ARW' : Result = $FF8C00 ;//Sony RAW 'BMP' : Result = $5F9EA0 ;//Windows Bitmap 'CR2' : Result = $FF4500 ;//Canon RAW CR2 'CR3' : Result = $FF0000 ;//Canon RAW CR3 'cRAW': Result = $FFA500 ;//Sony cRAW 'CRW' : Result = $DC143C ;//Canon RAW CRW 'DNG' : Result = $800000 ;//Digital Negative 'EMF' : Result = $EE82EE ;//Enhanced Metafile Format 'ERF' : Result = $48D1CC ;//Epson RAW 'GIF' : Result = $9370DB ;//Graphics Interchange Format 'HDR' : Result = $0000CD ;//Creo RAW 'JP2' : Result = $556B2F ;//JPEG2000 'JPC' : Result = $808000 ;//JPEG2000 'JPEG': Result = $9ACD32 ;//JPEG 'JPG' : Result = $6B8E23 ;//JPEG 'MRW' : Result = $708090 ;//Konica Minolta RAW 'NEF' : Result = $FF6347 ;//Nikon RAW 'ORF' : Result = $6495ED ;//Olympus RAW 'PCX' : Result = $BC8F8F ;//ZSoft Publishers Paintbrush 'PEF' : Result = $0000FF ;//Pentax RAW PEF, Samsung RAW 'PCT' : Result = $7B68EE ;//Macintosh PICT 'PNG' : Result = $BDB76B ;//Portable Network Graphics 'PSD' : Result = $008080 ;//Adobe PhotoShop Document 'RAF' : Result = $FF7F50 ;//FujiFilm RAW 'RAW' : Result = $F08080 ;//Pentax RAW, Leica RAW, Contax RAW, Casio RAW, Panasonic RAW 'RWL' : Result = $B8860B ;//Leica RAW 'sRAW': Result = $4169E1 ;//Canon sRAW 'SRW' : Result = $8A2BE2 ;//Samsung SRW 'TGA' : Result = $800080 ;//Targa TGA 'TIFF': Result = $00CED1 ;//Tag Image File Format 'WBMP': Result = $4682B4 ;//Wireless Bitmap 'WEBP': Result = $20B2AA ;//Google WebP Format 'WMF' : Result = $A0522D ;//Windows Metafile Format else Result = clgray; end; end; [dcc32 Error] Fonksiyonlar2.pas(1544): E2001 Ordinal type required [dcc32 Error] Fonksiyonlar2.pas(1545): E2010 Incompatible types: 'Integer' and 'string' nerede hata yapıyorum Renkler : Array[0..34] of AnsiString=('ARW','BMP', 'CR2', 'CR3', 'cRAW', 'CRW',
'DNG','EMF', 'ERF', 'GIF', 'HDR', 'JP2',
'JPC','JPEG','JPG', 'MRW', 'NEF', 'ORF',
'PCX', 'PEF','PCT', 'PNG', 'PSD', 'RAF',
'RAW', 'RWL','sRAW','SRW', 'TGA', 'TIFF',
'WBMP', 'WEBP', 'WMF');
bunu nasıl uyarlayacam üstteki fonksiyona yani arama işlemini nasıl yapabilirim function hata alıyorum - faktoral - 20-06-2020 function CaseOfString(s: string; a: array of string): Integer; begin Result := 0; while (Result < Length(a)) and (a[Result] <> s) do Inc(Result); if a[Result] <> s then Result := -1; end; Function UzantiRengi(FotoUzanti:String):TColor; begin case CaseOfString(FotoUzanti, ['ARW','BMP', 'CR2', 'CR3', 'cRAW', 'CRW', 'DNG','EMF', 'ERF', 'GIF', 'HDR', 'JP2', 'JPC','JPEG','JPG', 'MRW', 'NEF', 'ORF', 'PCX', 'PEF','PCT', 'PNG', 'PSD', 'RAF', 'RAW', 'RWL','sRAW','SRW', 'TGA', 'TIFF', 'WBMP', 'WEBP', 'WMF']) of 0 : Result := $FF8C00 ;//Sony RAW 1 : Result := $5F9EA0 ;//Windows Bitmap 2 : Result := $FF4500 ;//Canon RAW CR2 3 : Result := $FF0000 ;//Canon RAW CR3 4 : Result := $FFA500 ;//Sony cRAW 5 : Result := $DC143C ;//Canon RAW CRW 6 : Result := $800000 ;//Digital Negative 7 : Result := $EE82EE ;//Enhanced Metafile Format 8 : Result := $48D1CC ;//Epson RAW 9 : Result := $9370DB ;//Graphics Interchange Format 10 : Result := $0000CD ;//Creo RAW 11 : Result := $556B2F ;//JPEG2000 12 : Result := $808000 ;//JPEG2000 13 : Result := $9ACD32 ;//JPEG 14 : Result := $6B8E23 ;//JPEG 15 : Result := $708090 ;//Konica Minolta RAW 16 : Result := $FF6347 ;//Nikon RAW 17 : Result := $6495ED ;//Olympus RAW 18 : Result := $BC8F8F ;//ZSoft Publishers Paintbrush 19 : Result := $0000FF ;//Pentax RAW PEF, Samsung RAW 20 : Result := $7B68EE ;//Macintosh PICT 21: Result := $BDB76B ;//Portable Network Graphics 22 : Result := $008080 ;//Adobe PhotoShop Document 23 : Result := $FF7F50 ;//FujiFilm RAW 24 : Result := $F08080 ;//Pentax RAW, Leica RAW, Contax RAW, Casio RAW, Panasonic RAW 25 : Result := $B8860B ;//Leica RAW 26 : Result := $4169E1 ;//Canon sRAW 27 : Result := $8A2BE2 ;//Samsung SRW 28 : Result := $800080 ;//Targa TGA 29 : Result := $00CED1 ;//Tag Image File Format 30 : Result := $4682B4 ;//Wireless Bitmap 31 : Result := $20B2AA ;//Google WebP Format 32 : Result := $A0522D ;//Windows Metafile Format else Result := clgray; end; end; Cvp: function hata alıyorum - info@guzelceker.com - 20-06-2020 (20-06-2020, Saat: 13:00)faktoral Adlı Kullanıcıdan Alıntı: düzelttim sağloun function hata alıyorum - faktoral - 20-06-2020 Rica ederim, yararlı oldu ise ne mutlu. Cvp: function hata alıyorum - Fesih ARSLAN - 23-06-2020 Merhaba, Bu tip kontroller için iki farklı yöntem sunayım. I.Yöntem: Enum tipler oluşturmak ve fonksiyona yalnızca bu tipi göndererek sonuç almak. type TImageType = (ARW, BMP, CR2, CR3, cRAW, CRW, DNG, EMF, ERF, GIF, HDR, JP2, JPC, JPEG, JPG, MRW, NEF, ORF, PCX, PEF, PCT, PNG, PSD, RAF, RAW, RWL, sRAW, SRW, TGA, TIFF, WBMP, WEBP, WMF); Function TForm1.UzantiRengi(ImageType: TImageType): TColor; begin case ImageType of ARW: Result := $FF8C00; // Sony RAW BMP: Result := $5F9EA0; // Windows Bitmap CR2: Result := $FF4500; // Canon RAW CR2 CR3: Result := $FF0000; // Canon RAW CR3 cRAW: Result := $FFA500; // Sony cRAW CRW: Result := $DC143C; // Canon RAW CRW DNG: Result := $800000; // Digital Negative EMF: Result := $EE82EE; // Enhanced Metafile Format ERF: Result := $48D1CC; // Epson RAW GIF: Result := $9370DB; // Graphics Interchange Format HDR: Result := $0000CD; // Creo RAW JP2: Result := $556B2F; // JPEG2000 JPC: Result := $808000; // JPEG2000 JPEG: Result := $9ACD32; // JPEG JPG: Result := $6B8E23; // JPEG MRW: Result := $708090; // Konica Minolta RAW NEF: Result := $FF6347; // Nikon RAW ORF: Result := $6495ED; // Olympus RAW PCX: Result := $BC8F8F; // ZSoft Publishers Paintbrush PEF: Result := $0000FF; // Pentax RAW PEF, Samsung RAW PCT: Result := $7B68EE; // Macintosh PICT PNG: Result := $BDB76B; // Portable Network Graphics PSD: Result := $008080; // Adobe PhotoShop Document RAF: Result := $FF7F50; // FujiFilm RAW RAW: Result := $F08080; // Pentax RAW, Leica RAW, Contax RAW, Casio RAW, Panasonic RAW RWL: Result := $B8860B; // Leica RAW sRAW: Result := $4169E1; // Canon sRAW SRW: Result := $8A2BE2; // Samsung SRW TGA: Result := $800080; // Targa TGA TIFF: Result := $00CED1; // Tag Image File Format WBMP: Result := $4682B4; // Wireless Bitmap WEBP: Result := $20B2AA; // Google WebP Format WMF: Result := $A0522D; // Windows Metafile Format else Result := clGray; end; end;Kullanımı: procedure TForm1.Button1Click(Sender: TObject); var Renk: TColor; begin Renk := UzantiRengi(TImageType.PCX); end; II. Yöntem: Enum tipler oluşturmak, enum tip sayısınca sabit tanımlamak ve arada herhangi bir fonksiyon olmadan enum ile sabit değeri almak. type TImageType = (ARW, BMP, CR2, CR3, cRAW, CRW, DNG, EMF, ERF, GIF, HDR, JP2, JPC, JPEG, JPG, MRW, NEF, ORF, PCX, PEF, PCT, PNG, PSD, RAF, RAW, RWL, sRAW, SRW, TGA, TIFF, WBMP, WEBP, WMF, None); const
ImageTypeColor: Array [TImageType] of TColor = ( { ARW } $FF8C00, $5F9EA0, $FF4500, $FF0000,
$FFA500, $DC143C, $800000, $EE82EE, $48D1CC, $9370DB, $0000CD, $556B2F, $808000, $9ACD32, $6B8E23, $708090, $FF6347,
$6495ED, $BC8F8F, $0000FF, $7B68EE, $BDB76B, $008080, $FF7F50, $F08080, $B8860B, $4169E1, $8A2BE2, $800080, $00CED1,
$4682B4, $20B2AA, $A0522D,$BEBEBE { None } );
Kullanımı:procedure TForm1.Button1Click(Sender: TObject); var Renk: TColor; begin Renk := ImageTypeColor[TImageType.PCX]; end; Cvp: function hata alıyorum - info@guzelceker.com - 25-06-2020 (23-06-2020, Saat: 17:28)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba, evet çok yararlı bir bilgi oldu tşkler... |