---
title: "problem....."
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/48102-problem"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Alpha II"
published: "2002-07-17T19:31:26.000Z"
updated: "2002-07-24T22:09:02.000Z"
replies: 8
views: 254
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/48102-problem"
---

# problem.....

## #1 — Alpha II, 2002-07-17T19:31Z

Vill skriva poängen man har i mitt spel med bildsiffror.
Om poängen är 999,232,424 hur vet jag då att först ska bild 9 målas sen 9, 9, 2, 3 , 2 osv?

Permalänk: https://www.webforum.nu/p/48102

## #2 — yohpops, 2002-07-22T14:04Z

Du gör en loop som går igenom talet siffra för siffra och väljer bild utefter det.

ex.

lngpoäng=999098
for i = 1 to len(lngpoäng)
 lngbild = mid(lngpoäng,i,1)'Här hämtas siffran på platsen i i talet lngpoäng.
next i

Permalänk: https://www.webforum.nu/p/728292

## #3 — Alpha II, 2002-07-22T17:00Z

fins ju ingen funktion som heter mid() :(

Permalänk: https://www.webforum.nu/p/728410

## #4 — agneta_rung, 2002-07-22T18:01Z

Jag hittar inte heller någon funktion som heter mid...

Så här nå'nting skulle jag göra:

```
procedure RitaPoangBilder(Poang: integer);
  procedure RitaBild1;
  begin
    ShowMessage('Bild1')
  end;
  procedure RitaBild2;
  begin
    ShowMessage('Bild2')
  end;
  
var
  i: integer;
  PoangStr: string;
begin
  PoangStr := IntToStr(Poang);
  for i := 1 to Length(PoangStr) do
    case StrToInt(PoangStr[i]) of
      1: RitaBild1;
      2: RitaBild2;
      // etc
    end
end;
```

Permalänk: https://www.webforum.nu/p/728422

## #5 — UlfT, 2002-07-23T07:33Z

Angående "Mid()", jag tror yohpops missade att det är ett Delphi-problem. "Mid()" finns i VB.

agneta_rungs kod skulle jag vilja skriva om: 

```
procedure RitaPoangBilder(Poang: integer);
  
var
  i: integer;
  PoangStr: string;
begin
  PoangStr := IntToStr(Poang);
  for i := 1 to Length(PoangStr) do
    case StrToInt(PoangStr[i]) of
      1: ShowMessage('Bild1');
      2: ShowMessage('Bild2');
      // etc
    end
end;
```

Det finns ju ingen anledning att skriva flera procedurer som alla gör samma sak ;)

Permalänk: https://www.webforum.nu/p/728647

## #6 — Beatbox, 2002-07-23T16:15Z

Det finns en väldigt fin komponent som heter "ImageList" som funkar som en array av bilder. Du skulle kunna indexera arrayen mha siffran som du får fram ur strängen på ovanstående sätt.

Permalänk: https://www.webforum.nu/p/729022

## #7 — Alpha II, 2002-07-23T17:22Z

Finns det nån funktion som fyller upp strängen med nollor så att om poängen är 12 så blir score 0000012? Eller måste man programmera ihop nån liten kod som fixar det?

Permalänk: https://www.webforum.nu/p/729057

## #8 — Beatbox, 2002-07-23T17:23Z

Då är det väl enklare att börja i slutet på strängen och gå åt andra hållet till den är slut.

Permalänk: https://www.webforum.nu/p/729060

## #9 — jt, 2002-07-24T22:09Z

För att fylla upp strängen med nollor kan du använda Format. 

const
  Nr = 12;
begin
  ShowMessage(format('%.7d',\[Nr\]));
end;

Permalänk: https://www.webforum.nu/p/729966

---

Tråden på webben: https://www.webforum.nu/amne/programmering/48102-problem
