Dateien einlesen und damit arbeiten

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

% ist meines Wissens nach der Modulo, sozusagen Teilen mit Rest.

7 % 5 = 2, weil 7 / 5 = 1 Rest: 2

Code: Alles auswählen

If Zahl % 13 = 0 
  Debug Str(Zahl)+" ist duch 13 teilbar." 
EndIf
Stargate fragt einfach ab, ob der Rest bei 13 "0" ist. Wenn ja, dann ist die Zahl entsprechend teilbar.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

@Kiffi
das mit den mehreren Zeichen liegt daran das ich in 3.3 selber diese Procedure schreiben musste: Und da konnte ich eine TrennStringKETTE angeben :wink:

Code: Alles auswählen

Procedure.s StringField(String$, Index, TrennString$)
 Stelle = 1-Len(TrennString$)
 For n = 1 To Index
  x = Stelle+Len(TrennString$)
  Stelle = FindString(String$+TrennString$, TrennString$, x)
  If Stelle = 0 : n = Index : EndIf
 Next n
 If Stelle
  NewString$ = Mid(String$, x, Stelle-x)
 EndIf
 ProcedureReturn NewString$
EndProcedure
Habe mein Code vorhin angepasst :-)

@PB42: jo sry das ich nix weiter dazu geschrieben habe
Hier ein paar Informationen:

Zahl % Teiler = Rest
das % nennt sich hier Modulo und Dividiert Zahl durch den Teiler und gibt dann den Rest aus, der beim Dividieren entsteht, ist die Zahl nun durch 13 Teilbar kommt als Rest 0 raus.

Val(Trim(StringField(Zeile$,Index,",")))
Hier wird Zeile$ in kleine Stücke zerteilt und eine String an der Stelle (Index) ausgegeben. Dieser String hat nun aber Leerzeichen am Anfang oder Ende, mit Trim() werden diese gelöscht, danach wird dann die Zeichenkette als Zahl mit Val() umgewandelt.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Beitrag von PB42 »

Ich hatte das mit dem Modulo und die Funktionsweise mit Stringfield und Trim mittlerweile gerafft, aber trotzdem Danke für die nachträglichen Infos. Ich komme jetzt echt weiter.:allright:

PB42
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

STARGÅTE hat geschrieben:@Kiffi
das mit den mehreren Zeichen liegt daran das ich in 3.3 selber diese Procedure schreiben musste: Und da konnte ich eine TrennStringKETTE angeben :wink:
Dir sei verziehen! :-)

Grüße ... Kiffi
a²+b²=mc²
Antworten