---
title: "förenkla lite grann"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/38520-förenkla-lite-grann"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "DavidB"
published: "2002-02-26T22:19:48.000Z"
updated: "2002-02-27T20:17:03.000Z"
replies: 3
views: 402
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/c-cpp/38520-förenkla-lite-grann"
---

# förenkla lite grann

## #1 — DavidB, 2002-02-26T22:19Z

har en kod som jag vill upprepa flera gånger i mitt program.
den ser ut följande:

```
        if(KlotImage->Top - 11 <= [b]Image1[/b]->Top && KlotImage->Top >= [b]Image1[/b]->Top - 10){
                if(KlotImage->Left + 10 >= [b]Image1[/b]->Left && KlotImage->Left <= [b]Image1[/b]->Left + 25){
                        if([b]Image1[/b]->Visible == TRUE){
                                [b]Image1[/b]->Visible = FALSE;

                                if(KlotImage->Left + 10 >= [b]Image1[/b]->Left && KlotImage->Left + 10 <= [b]Image1[/b]->Left + 3){
                                        Horisontal->Caption = 0;
                                }
                                if(KlotImage->Left >= [b]Image1[/b]->Left + 22 && KlotImage->Left <= [b]Image1[/b]->Left + 25){
                                        Horisontal->Caption = 1;
                                }
                                if(KlotImage->Top >= [b]Image1[/b]->Top + 7 && KlotImage->Top <= [b]Image1[/b]->Top + 10){
                                        Vertikal->Caption = 1;
                                }
                                if(KlotImage->Top + 10 >= [b]Image1[/b]->Top && KlotImage->Top + 10 <= [b]Image1[/b]->Top + 3){
                                        Vertikal->Caption = 0;
                                }

                         }
                }
```

enda skillnaden är att jag den fetmarkerade koden **Image1** ska bytas ut mot **Image2** osv. ända upp till ett bestämt antal.
går det att göra med nån form av loop eller nånting? för koden blir så mycket mer lättläst och så behöver jag bara ändra på ett ställe istället för några hundra om jag måste ändra nåt.

kan väl tillägga att jag använder C++ Builder 4.

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

## #2 — spango, 2002-02-26T22:36Z

Tanken som slår en är antingen att du skriver en funktion, eller att du använder en array...

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

## #3 — DavidB, 2002-02-27T18:14Z

okej, då till följdfrågan. hur gör man det?

vet ju hur man gör en funktion men inte hur den ska se ut men ovanstående.

har precis börjat läsa c++ i skolan så jag är ju inte så jättebra på det ännu

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

## #4 — PeW, 2002-02-27T20:17Z

På den kod du presenterade ser det ut som att den ska manipulera några variabler  i en struct... så det liknar mer c kod än c++...  är det det senare kanske du får visa lite mer kod i form av klasser med medlemmar, namespace, åtkomsthet m.m..   men, men:

```
void funktionsnamn (const typ &var){
  //do something
}
```

Är ju en typisk funktion där du skickar med en parameter ( kan var flera) som indata och mellan {} petar du in din kod som bearbetar indatan. Ovan funktion returnerar inget utan får jobba direkt mot nån halvglobal data. Bättre är det om man ist deklarerar funktionen till att ta emot ett objekt och returnera detta...  jaja, utan mer info om hur resten av koden ser ut och exakt vad som behövs göras är det knepigt att hjälpa till.
 
Att du kör den i CBuilder 4 gör det inte direkt lättare att direkt angripa koden då en del saker inte lämnas öppet för beskådan   ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/38520-förenkla-lite-grann
