"Locate" in the program
#36
That is the code (I also tested it with: "buf$ = Space$(45)":

Code: (Select All)
'Zuschlags- bzw. Angebotskalkulation. Aus Industriebuchfuehrung S.267 - 7. Juni 2022
'Formattierung von "bplus", 10 Juni 2022

'Subroutine: EinPlatz, fuer Eingabe und Platzierung
'Dasselbe fuer die lange Ausgabe : AusPlatz
'11. Juni 2022 - Kernelpanic

Option _Explicit

Dim Fertigungsmaterial, Materialgemeinkosten As Double
Dim FertigungsloehneI, FertigungsgemeinkostenI As Double
Dim FertigungsloehneII, FertigungsgemeinkostenII As Double

Dim fertMaterialkosten, fertFertigungskosten1, fertFertigungskosten2 As Double

Dim Herstellkosten, Verwaltungsgemeinkosten, Vertriebskosten As Double
Dim Selbstkosten As Double

'Kalkulatorischer Gewinnzuschlag
'(Betriebsgewinn * 100%) / Allg. Selbstkosten -- Man kann 20% annehmen.
Dim Gewinnzuschlag As Double

'Annehmen als 95%
Dim Barverkaufspreis As Double

Dim Kundenskonto, Vertreterprovision As Double

'Annehmen als 90%
Dim Zielverkaufspreis As Double

Dim Kundenrabatt, Listenpreis As Double

Screen _NewImage(800, 600, 32)

Print
Print Tab(15); "Angebotskalkulation"
Print Tab(15); "-------------------"
Print

'Eingabe, Entspricht: Locate 5, 2
Fertigungsmaterial = getNumber(5, 3, "Fertigungsmaterial")

'Materialgemeinkosten + 8% auf Fertigungsmaterial
Materialgemeinkosten = (Fertigungsmaterial * 8) / 100
EinPlatz 6, 3, "+ 8% Gemeinkosten: ", Materialgemeinkosten
Locate 7, 3
Print "--------------------------------------------------"

'Matarialkosten gesamt
fertMaterialkosten = ((Fertigungsmaterial * 8) / 100) + Fertigungsmaterial

AusPlatz 8, 3, "Die Materialkosten betragen insgesamt", fertMaterialkosten

'Eingabe
FertigungsloehneI = getNumber(10, 3, "Fertigungsloehne I")

'Fertigungsgemeinkosten I +110%
FertigungsgemeinkostenI = (FertigungsloehneI * 110) / 100
EinPlatz 11, 3, "+ 110% Fertigungsgemeinkosten", FertigungsgemeinkostenI
Locate 12, 3
Print "--------------------------------------------------"

fertFertigungskosten1 = FertigungsloehneI + FertigungsgemeinkostenI
AusPlatz 14, 3, "Die Fertigungskosten 1 betragen", fertFertigungskosten1

'Eingabe
FertigungsloehneII = getNumber(16, 3, "Fertigungsloehne II")

'Fertigungsgemeinkosten II +120%
FertigungsgemeinkostenII = (FertigungsloehneII * 120) / 100
EinPlatz 17, 3, "+ 120% Fertigungsgemeinkosten", FertigungsgemeinkostenII
Locate 18, 3
Print "--------------------------------------------------"

fertFertigungskosten2 = FertigungsloehneII + FertigungsgemeinkostenII
AusPlatz 20, 3, "Die Fertigungskosten 2 betragen", fertFertigungskosten2

'Eingabe
Herstellkosten = getNumber(22, 3, "Herstellkosten")
'EinPlatz 18, 2, "Herstellkosten:", Herstellkosten: PRINT

'Verwaltungsgemeinkosten +20%
Verwaltungsgemeinkosten = (Herstellkosten * 20) / 100
EinPlatz 23, 3, "+ 20% Verwaltungsgemeinkosten", Verwaltungsgemeinkosten

'Vertriebskosten +4%
Vertriebskosten = (Herstellkosten * 4) / 100
EinPlatz 24, 3, "+ 4% Vertriebskosten", Vertriebskosten
Locate 25, 3
Print "--------------------------------------------------"

Selbstkosten = (Herstellkosten + Verwaltungsgemeinkosten) + Vertriebskosten
AusPlatz 26, 3, "Die Selbstkosten des Auftrags betragen", Selbstkosten

'#Kalkulatorischer Gewinnzuschlag
'Betriebsgewinn * 100%) / Allg. Selbstkosten -- Man kann 20% annehmen.
Gewinnzuschlag = (Selbstkosten * 20) / 100
AusPlatz 28, 3, "+ 20% Gewinnzuschlag", Gewinnzuschlag

'Barverkaufspreis: Annehmen als 95%
Barverkaufspreis = Selbstkosten + Gewinnzuschlag
AusPlatz 30, 3, "Barverkaufspreis (als 95% annehmen)", Barverkaufspreis

'Kundenskonto 2% und Vertreterprovision 3%
Kundenskonto = (Barverkaufspreis * 2) / 95
AusPlatz 31, 3, "+ 2% Kundenskonto", Kundenskonto

Vertreterprovision = (Barverkaufspreis * 3) / 95
AusPlatz 32, 3, "+ 3% Vertreterprovision", Vertreterprovision
Locate 33, 3
Print "----------------------------------------------------------"

Zielverkaufspreis = (Barverkaufspreis + Kundenskonto) + Vertreterprovision
AusPlatz 34, 3, "Zielverkaufspreis", Zielverkaufspreis

'Kundenrabatt: Annehmen als 90%
Kundenrabatt = (Zielverkaufspreis * 10) / 90
AusPlatz 36, 3, "+ 10% Kundenrabatt", Kundenrabatt
Locate 37, 3
Print "----------------------------------------------------------"

Listenpreis = (Zielverkaufspreis + Kundenrabatt)
AusPlatz 39, 3, "Listenpreis", Listenpreis
Locate 40, 3
Print "#############################################################"

End 'Hauptprogramm

Sub EinPlatz (row, col, label$, number As Double) 'Eingabe darf maximal 25 Zeichen betragen
  Dim buf$
  Locate row, col
  buf$ = Space$(30)
  Mid$(buf$, 1) = label$
  Print Using buf$ + ": ###,###,###,###.##"; number
End Sub

Sub AusPlatz (row, col, label$, number As Double) 'Fuer extra Ausgabe
  Dim buf$
  Locate row, col
  buf$ = Space$(45) '40 Zeichen lang
  Mid$(buf$, 1) = label$
  Print Using buf$ + ": ###,###,###,###.##"; number
End Sub


Function getNumber# (row, col, prompt25$) 'Laenge der Ausgabe steuern
  Dim K$, num$
  Locate row, col: Print prompt25$; "? "
  K$ = InKey$
  While K$ <> Chr$(13)
    If Len(K$) Then
      'Fuer Nachkommastelle muss "." gedrueckt werden
      If InStr("-0123456789.", K$) Then
        num$ = num$ + K$
        EinPlatz row, col, prompt25$, Val(num$)
      ElseIf Asc(K$) = 8 Then
        If Len(num$) Then
          num$ = Left$(num$, Len(num$) - 1)
          EinPlatz row, col, prompt25$, Val(num$)
        End If
      End If
    End If
    K$ = InKey$
  Wend
  getNumber# = Val(num$)
End Function
Reply


Messages In This Thread
"Locate" in the program - by Kernelpanic - 06-07-2022, 08:04 PM
RE: "Locate" in the program - by bplus - 06-08-2022, 03:30 PM
RE: "Locate" in the program - by Kernelpanic - 06-08-2022, 05:30 PM
RE: "Locate" in the program - by bplus - 06-08-2022, 06:07 PM
RE: "Locate" in the program - by bplus - 06-08-2022, 07:26 PM
RE: "Locate" in the program - by Kernelpanic - 06-08-2022, 08:39 PM
RE: "Locate" in the program - by RhoSigma - 06-08-2022, 09:49 PM
RE: "Locate" in the program - by Kernelpanic - 06-09-2022, 03:01 PM
RE: "Locate" in the program - by bplus - 06-08-2022, 08:41 PM
RE: "Locate" in the program - by Pete - 06-09-2022, 01:50 AM
RE: "Locate" in the program - by bplus - 06-09-2022, 03:40 AM
RE: "Locate" in the program - by Pete - 06-09-2022, 03:55 AM
RE: "Locate" in the program - by Kernelpanic - 06-09-2022, 03:14 PM
RE: "Locate" in the program - by James D Jarvis - 06-09-2022, 03:16 PM
RE: "Locate" in the program - by Kernelpanic - 06-09-2022, 04:12 PM
RE: "Locate" in the program - by James D Jarvis - 06-09-2022, 04:30 PM
RE: "Locate" in the program - by RhoSigma - 06-09-2022, 07:50 PM
RE: "Locate" in the program - by Kernelpanic - 06-09-2022, 09:16 PM
RE: "Locate" in the program - by Kernelpanic - 06-09-2022, 09:04 PM
RE: "Locate" in the program - by Kernelpanic - 06-09-2022, 04:14 PM
RE: "Locate" in the program - by SMcNeill - 06-10-2022, 04:47 AM
RE: "Locate" in the program - by SMcNeill - 06-10-2022, 05:08 AM
RE: "Locate" in the program - by Kernelpanic - 06-10-2022, 06:29 PM
RE: "Locate" in the program - by bplus - 06-10-2022, 07:42 PM
RE: "Locate" in the program - by Kernelpanic - 06-10-2022, 08:47 PM
RE: "Locate" in the program - by DSMan195276 - 06-10-2022, 11:34 PM
RE: "Locate" in the program - by bplus - 06-10-2022, 09:00 PM
RE: "Locate" in the program - by Kernelpanic - 06-10-2022, 11:15 PM
RE: "Locate" in the program - by Kernelpanic - 06-10-2022, 11:22 PM
RE: "Locate" in the program - by Kernelpanic - 06-10-2022, 11:49 PM
RE: "Locate" in the program - by DSMan195276 - 06-10-2022, 11:57 PM
RE: "Locate" in the program - by bplus - 06-11-2022, 12:10 AM
RE: "Locate" in the program - by Kernelpanic - 06-12-2022, 08:50 PM
RE: "Locate" in the program - by Kernelpanic - 06-12-2022, 08:56 PM
RE: "Locate" in the program - by bplus - 06-12-2022, 09:27 PM
RE: "Locate" in the program - by Kernelpanic - 06-12-2022, 09:54 PM
RE: "Locate" in the program - by bplus - 06-12-2022, 11:16 PM
RE: "Locate" in the program - by Kernelpanic - 06-13-2022, 01:16 PM
RE: "Locate" in the program - by bplus - 06-13-2022, 07:07 PM
RE: "Locate" in the program - by Kernelpanic - 06-13-2022, 08:49 PM
RE: "Locate" in the program - by Pete - 06-14-2022, 06:10 AM



Users browsing this thread: 5 Guest(s)