Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
function hata alıyorum
#1
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
Cevapla
#2
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;
"Önemli olan şey ne söylediğin değildir,nasıl söylediğindir."
Cevapla
#3
(20-06-2020, Saat: 13:00)faktoral Adlı Kullanıcıdan Alıntı:
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;

düzelttim sağloun
Cevapla
#4
Rica ederim, yararlı oldu ise ne mutlu.
"Önemli olan şey ne söylediğin değildir,nasıl söylediğindir."
Cevapla
#5
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;
Cevapla
#6
(23-06-2020, Saat: 17:28)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: 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;

evet çok yararlı bir bilgi oldu tşkler...
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Değişik bir hata ikurt07 2 195 30-03-2024, Saat: 14:34
Son Yorum: ikurt07
  Rest Hata Yakalama m_ekici 9 1.550 08-03-2024, Saat: 19:30
Son Yorum: aegean
  Tanım Bulamadım Bu Hata İçin hi_selamlar 11 1.444 30-10-2023, Saat: 18:20
Son Yorum: hi_selamlar
  delphi de garip bir hata ercanskose 11 1.579 26-07-2023, Saat: 12:00
Son Yorum: delphiman
  UniDBGridColumnFilter Release Modda Hata veriyor yhackup 18 2.688 19-01-2023, Saat: 10:29
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi