Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Pokemon Pokedex programmieren - funktioniert nicht!

  Alt 12. Nov 2011, 17:22
1. so
Delphi-Quellcode:
procedure GetPokemon(Pokemon : TPokemon; Image : TImage);
  var
    Bitmap : TBitmap;
    x, y :Integer;
  begin

    // Einen Owner gibt man nur dann an, wenn dieser Owner für das Entsorgen der
    // Instanz verantwortlich sein soll ... dem ist hier aber nicht, also schon mal
    // auf jeden Fall als Owner nil übergeben (kein Owner)

    Pokemon_Pictures := TPokemon_Pictures.Create( nil );
      try
        Bitmap := TBitmap.Create;
          try
            Bitmap.Assign(Pokemon_Pictures.Image1.Picture.Graphic);
            if (Pokemon>=Bisasam) and (Pokemon<=Arceus) then
                begin
                y := Ord(Pokemon) div 25; // vertauscht
                x := Ord(Pokemon) Mod 25; // vertauscht
                Image.Canvas.CopyRect(rect(0, 0, 80, 80), BitMap.Canvas, rect(x*80,y*80, (x+1)*80,(y+1)* 80));
                end
              else
                raise Exception.Create('Angefordertes Pokemon konnte nicht gefunden werden!');
        finally
        Bitmap.Free;
        end;
    finally
      Pokemon_Pictures.Free;
    end;
  end;
Sehe ich das richtig, du hast da ein Formular (TPokemon_Pictures) mit einem Image, in dem die Bilder gespeichert sind ... schon recht gruselig
denn ...
2. Ganz einfach: Die Grafiken können dann hinterher auf Wunsch einzeln in einem Image angezeigt werden, einzelne Kommentare können dann aus einer Datenbank geladen und beispielsweise im Label o.ä. angezeigt werden (siehe Thema).
Wozu denn so ein MischMasch?
Einmal liegen die Informationen als Bild vor (aus dem werden Teile dann ausgeschnitten) - fest im Programm oder wird das extern geladen?
Dann wiederum ein Enum fest verdrahtet im Programm, welche dann als Referenz auf diese Teil-Bilder benutzt werden.
Und dann noch eine Datenbank wo (ja ganz dynamisch) weitere Informationen zu finden sind.

Entweder alles fest verdrahten oder alles dynamisch, aber nicht so ein Gewurschtel

Leg doch einfach alles in die Datenbank (Namen, Bilder, Informationen) und lade dir einfach alles von selbiger.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat