Vergabe von undeklarieten Werten

Henri

Bekanntes Mitglied
Hallo Leute,

ich habe eine Frage, ich weiss leider nicht, ob es möglich wäre,
wir haben ein System, es generiert Projektnummern automatik, die Projektnummer werden noch für weitere Aufgabe in System gebraucht, die Projektnummer werden, wie folgt deklariert
Java:
public List<String> PROJ_LIST =new ArrayList<String>();
die Projektnummer haben die folgende Struktur Jarhgang+auto-increment, das heisst wir sind im Jahr 2019, die Projektnummer sieht wie folgt 2019XXX
im Jahr 2020 werden die 2020XXX.
Meine Aufgabe(Code) sollte einfach alle Projekt bearbeiten, die schon existiert und die in der Zukunkft generieren werden, dafür braucht die Projektnummer .
Ich wollte wissen, wie kann ich die Variable PROJ_LIST deklariert oder anpassen, damit die Aufgabe in der zukunft alle Projekt automatik bearbeitet,
bis jetzt habe ich das händisch gemacht, jedes mal ein neues Projekt erstellt wurde, bin ich in meiner Aufgabe zurück und habe ich di neue Projektnummer vergeben.
Wenn ich irgendwo unklar war einfach mal fragen

Viel Dank im Voraus
 
Wenn ich irgendwo unklar war einfach mal fragen
Ich frag einfach mal 🙂 Die Projektnummern stehen in einer Datenbank? Oder sollst Du nur die Projektnummern in der Liste auf das aktuelle Jahr anpassen?

Java:
public static List<String> aendereProjektnummern(List<String> bestehendeProjektnummern, String prefix) {
    return bestehendeProjektnummern.stream()
        .map(alteNr -> new StringBuilder(prefix).append(alteNr.subString(4)).toString())
        .collect(Collectors.toList());
}
Java:
List<String> neueNummern = aendereProjektnummern(alteNummern, "2020");
 
Hallo Mihe,

ja, die Projektnummer stehen in einer Datenbank
und werden aufgerufen, wenn in meiner Aufgabe gebraucht wird
 
also ich versuche es anders mich auszudrücken,
nehme wir an, wir haben mehrere Projekte mit dem folgende Projektnummer:
1990345, 2001970, 2002456, 2003567, 2004098, 2005123, 2006165, 2007875, 2008489, 2008035, 2009089, 2010345, 2011078,
2012067, 2013213, 2014890, 2015045, 2016097, 2016551, 2017001, 2018444, 2019453 ... ca. 4000 Projektnummer, und in der zukunft sollte noch weiter dazu kommen.

Jetzt haben wir ein Code es sollte etwas bestimmtes in jedem Projekt bearbeiten, um jedes Projekt zu bearbeiten braucht es die Projektnummer, in dem Moment ein Projekt erstellt wird kann das Code anfangen zu bearbeiten.

Leider können wir nicht in unserem Code die Variable PROJ_LIST nur mit existierender Projektnummer arbeiten, obwohl es uns klar dass einige projektnummer weiter erstellt werden, mit der strucktur Jahrgang+xxx, wobei x den Wert {0,1,2,3,4,5,6,7,8,9} nehmen
könnte.
wie kann ich es lösen.
 
so habe ich es in meinem Code geschrieben worden
wobei
Java:
private QueryOperandList _prjQOList = new QueryOperandList();
  • QueryOperandList
    public QueryOperandList()
    Creates an empty query operand list.
Java:
 if (PROJ_LIST == null || PROJ_LIST.isEmpty() || PROJ_LIST.size()<1){
            PROJ_LIST.add("2019003");
        }
        List<QueryOperand> prjListQO = new ArrayList<QueryOperand>();
        for ( String projnr:PROJ_LIST){
            prjListQO.add(new Constant(projnr));
        }
        _prjQOList = new QueryOperandList(prjListQO);
 
Zuletzt bearbeitet:
Tut mir leid, ich kann immer noch nicht folgen. Kannst Du Deine Frage mal auf Englisch formulieren, vielleicht wird dannn einiges klarer.

nehme wir an, wir haben mehrere Projekte mit dem folgende Projektnummer:
1990345, 2001970, 2002456, 2003567, 2004098, 2005123, 2006165, 2007875, 2008489, 2008035, 2009089, 2010345, 2011078,
2012067, 2013213, 2014890, 2015045, 2016097, 2016551, 2017001, 2018444, 2019453 ... ca. 4000 Projektnummer, und in der zukunft sollte noch weiter dazu kommen.
Das verstehe ich. Den Rest leider nicht.

Nachtrag: ah, Idee: willst Du, dass beim Anlegen eines neuen Projekts ein bestimmter Code ausgeführt wird (also eine Art "on create event")? Oder willst Du vielleicht beim Anlegen eines neuen Projekts die Nummer automatisch generieren?
 
Tut mir leid, ich kann immer noch nicht folgen. Kannst Du Deine Frage mal auf Englisch formulieren, vielleicht wird dannn einiges klarer.


Das verstehe ich. Den Rest leider nicht.

Nachtrag: ah, Idee: willst Du, dass beim Anlegen eines neuen Projekts ein bestimmter Code ausgeführt wird (also eine Art "on create event")? Oder willst Du vielleicht beim Anlegen eines neuen Projekts die Nummer automatisch generieren?
nichts davon
also, möchte ich in der Lage alle projekte mit meinem Code zu bearbeiten, wie gesagt bis jetzt muss ich immer in meinem Code händisch die Projektnummer eingeben, dann bearbeitet den Code das Projekt. das heisst sollte einfach alle existierende Projekte zu bearbeiten, ohne jedes mal in meinem Script jede Projektnummer einzugeben, wie in dem Stückcode, habe ich 2019003 eingegeben.

Übrigens Fränzösisch kann ich
 
Wenn die Projekte in einer Datenbank sind und du alle Projekte bearbeiten willst, dann frag doch einfach die Datenbank nach allen Projektcodes ab und schon kannst Du alle bearbeiten....
 
Wenn die Projekte in einer Datenbank sind und du alle Projekte bearbeiten willst, dann frag doch einfach die Datenbank nach allen Projektcodes ab und schon kannst Du alle bearbeiten....
Hi Knietzel,
siehst du schon ganz oben, in dem Stückcode es funktioniert schon, leider muss ich jedes mal eine Projektnummer eingeben
 
Du wirst doch in Deinem Code irgendeine Möglichkeit haben, alle Projekte/-nummern abzurufen? Wenn nicht, musst Du die Möglichkeit schaffen.
 
Du solltest Dir anschauen, welche Query-Methoden Du zur Verfügung hast (gibt es noch andere außer QueryOperandList?)

Oder hast Du die Query-Methoden implementiert?
 
Ich wollte wissen, wie kann ich die Variable PROJ_LIST deklariert oder anpassen, damit die Aufgabe in der zukunft alle Projekt automatik bearbeitet,
Vielleicht ist die Projektbeschreibung zuerst auf Französisch formuliert und dann via Übersetzer gepostet einfacher zu verstehen: https://translate.google.fr/#view=home&op=translate&sl=fr&tl=de
Trotzdem ein Rateversuch: für die existierenden und noch zu kreierenden Projektnummern soll eine sogenannte dynamische Arraylist verwendet werden, z.B. https://www.geeksforgeeks.org/arraylist-in-java/, https://www.tutorialspoint.com/java/java_arraylist_class
 
Hi ML,
ich glaube mit alles was wir schon geschrieben haben, kannst du besser nachvollziehen, der stückcode funktioniert sehr gut leider muss ich jedes mal eine Projektnummer händisch eingeben.
 
Zuletzt bearbeitet:
Ich versuche mich mal im Raten:

Was ich glaube, sicher verstanden zu haben:
-Du willst über alle Projekte iterieren um irgendwas zu tun.

Was ich annehme:
-Du kannst ein Projekt anhand seiner Projektnummer aufrufen. Allerdings ist diese Funktion die einzige (dir bekannte?) Möglichkeit, an die Projekte zu kommen.

Daraus folgere ich:
-Dein Plan ist, alle möglichen Projektnummern zu erraten (sind ja nur maximal 999 Projekte/Jahr) und auf diese Weise alle Projektnummern zu erhalten?

Ist das korrekt?
 
Das generiert dir alle theoretisch möglichen Projektnummern. Ob alle Projektnummern existieren, ist erstmal eine andere Frage.

Java:
public static void main(String[] args) {
        ArrayList<String> projects;
        final int fromYear = 1730, toYear = 2019;
        String s;

        DecimalFormat df = new DecimalFormat("000");
        projects = new ArrayList<>();

        System.out.println("Generierte Projektnummern:");
        for (int year = fromYear; year <= toYear; year++) {
            for (int cnt = 0; cnt <= 999; cnt++) {
                s = Integer.toString(year) + df.format(cnt);
                projects.add(s);
                System.out.println(s);
            }
        }
    }

mihe7 hätte das wahrscheinlich wieder mit funktionalen Ausdrücken erschlagen, aber vielleicht krieg ich das irgendwann auch noch hin. 😀
 
mihe7 hätte das wahrscheinlich wieder mit funktionalen Ausdrücken erschlagen, aber vielleicht krieg ich das irgendwann auch noch hin. 😀
zB:
Java:
Stream<String> projects = rangeClosed(1730,2019).mapToObj(i->i)
        .flatMap(year -> range(0,1000)
            .mapToObj(nr ->
                format("%04d%03d",year, nr)));

(Man könnte tendenziell auch erst auf einen passenden Typ mappen, statt direkt in den String (wäre ziemlich cool, wenn man dafür irgendwann Records nutzen könnte...)

Java:
class ProjectNr { int year; int nr; /*...*/ }

Stream<String> projects = rangeClosed(1730,2019).mapToObj(i->i)
        .flatMap(year -> range(0,1000)
        .mapToObj(nr -> new ProjectNr(year, nr)))
        .map(projectNr -> format("%04d%03d",projectNr.year, projectNr.nr))
 
Zuletzt bearbeitet:
Ich habe immer noch nicht verstanden wo genau diese Projectnummern nun eigentlich stehen. Sind das Dateinamen? oder steht das was in einer Datenbank? Oder ist sogar alles einfach nur lokal im Code und wird dann global serialisiert und weggeschreiben und beim neustart wieder gelesen?
 
Ich habe immer noch nicht verstanden wo genau diese Projectnummern nun eigentlich stehen. Sind das Dateinamen? oder steht das was in einer Datenbank? Oder ist sogar alles einfach nur lokal im Code und wird dann global serialisiert und weggeschreiben und beim neustart wieder gelesen?
Ich glaube, das hat in diesem Thread niemand inklusive TO verstanden...
 
Die Unmöglichkeit kommt aktuell nur daher, dass niemand das Problem wirklich verstanden hat 😉


Du willst alle aktuell (zum Zeitpunkt der Ausführung, nicht des Programmierens!) existierenden Projektnummern abfragen: Lies sie aus der Datenbank aus, da werden sicherlich alle drin stehen.

Du willst alle jemals möglichen Projektnummern generieren (unabhängig von ihrer bisherigen Existenz): @White_Fox hat in #18 eine Lösung gezeigt.

Du willst Projektnummern konvertieren (das Jahr anpassen, also z.B. aus "2019123" "2020123" machen): @mihe7 hat in #3 eine Lösung gezeigt.

Du meinst etwas anders: Beschreib das Problem noch mal mit Beispielen, wenn es hilft auch gerne in deiner Muttersprache.
 
Na und? Um welche DB handelt es sich denn?

SQL:
SELECT PNUMMER FROM PROJEKTE;



Es ist kaum etwas unmöglich. Man müsste halt verstehen, worum es geht.
Hi Temi,

es handelt sich um MSSQL, ich weiss es, wir verwenden eigene lib wie du oben gesehen hast den constructor
QueryOperandList() wir verwendet, habe ich inzwischen neue construktor gesehen und zwar, aber noch nicht angewandt.
Ich wiederhole mich meinen aktuelle kann nur ein Projekt aufrufen, indem ich händisch die Projektnummer eingeben sollte, die wurde so implementiert

Java:
if (PROJEKT_LIST == null || PROJEKT_LIST.isEmpty() || PROJEKT_LIST.size()<1){
            PROJEKT_LIST.add("2019303");
        }
        List<QueryOperand> prjListQO = new ArrayList<QueryOperand>();
        for ( String projnr:PROJEKT_LIST){
            prjListQO.add(new Constant(projnr));
        }
        _prjQOList = new QueryOperandList(prjListQO);

in diesem Codestück wurde den ersten constructor verwendet

Ich möchte nicht jedes Mal, wenn ein Projekt bearbeitet werden muss, dass die Projektnummer zuerst in den Code geschrieben wird. Wie du siehst, kann der Code nur 1 Projekt verarbeiten, während wir Tausende von Projekten haben


1-
Java:
public QueryOperandList()
Creates an empty query operand list.

2-
Java:
public QueryOperandList(<List? extends QueryOperand > list)
Creates a query operand list which contains the elements of given list.
Parameters:list - the list as List

3-
Java:
public QueryOperandList(QueryOperand...  queryOperands)
Creates a query operand list which contains given query operands.
Parameters:queryOperands - the query operands as QueryOperands
 
Ich möchte nicht jedes Mal, wenn ein Projekt bearbeitet werden muss, dass die Projektnummer zuerst in den Code geschrieben wird. Wie du siehst, kann der Code nur 1 Projekt verarbeiten, während wir Tausende von Projekten haben
Und was genau hindert dich daran, deinen Code so zu ändern, daß dieser Abschnitt mehrmals nacheinander ausgeführt wird? Und zwar für jede Projektnummer?
Und warum zur Hölle kannst du nicht alle existierenden Projektnummern aus der Datenbank holen?
 
Also ich denke, dass Du auf jeden Fall einmal die Java Grundlagen verstehen solltest. Nur weil da in dem Beispielcode steht:
Java:
PROJEKT_LIST.add("2019303");

bedeutet das doch nicht, dass hier immer ein im Code angegebener String stehen muss. Dieser Projektcode kann irgend ein String sein, egal woher er kommt. (Kommandozeile, Eingabe vom User zur Laufzeit, aus einer Datenbank gelesen, ....)

Und das ist eine Liste von Projekten. Wer sagt, dass da nur ein Projekt angegeben werden kann? Evtl. kann man in diese Liste mehrere Projekte hinzufügen und er lädt dann mehrere Projekte?

Wenn da immer nur ein Projektcode angegeben werden könnte, dann hätte man da keine Liste erzeugt, über die dann iteriert wird!

Und wenn das etwas ist, das in der Firma bei euch entwickelt wurde / benutzt wird: Warum sprichst Du die verantwortlichen Kollegen nicht einfach einmal an? Die können Dir evtl. in einem direkten Gespräch die Grundlagen ihres Data Access Layers verraten.

Und der Data Access Layer wird irgendwo einen Connection String haben. Den kannst Du natürlich auch für beliebige Abfragen nutzen - so der DAL die notwendigen Funktionen noch nicht hat.
 
also ich werde dir einige Zeile zukommen lassen.
Mit unserem Lib werden nicht die Abfrage ausgeführt wie in normales Lib

IndexingPropertyName idxProjnr = new IndexingPropertyName("Projektnummer", docArea);
Expression exprPrjNr = new Expression (Operator.IN, idxProjnr, _prjQOList );
 
Mit unserem Lib werden nicht die Abfrage ausgeführt wie in normales Lib
Ich sehe in den Zeilen immer noch kein Ergebnis. Geht das noch weiter?

Ansonsten: wenn Du irgendwelche internen Libs verwenden musst, halte Dich an das, was @kneitzel geschrieben hat und wende Dich an die bei Euch verantwortlichen. Die können Dir vermutlich in 2 Sekunden sagen, ob falls ja, wie Du alle Projektnummern abrufen kannst.
 
Also da sieht man ja auch: Er übergibt eine Liste und die Expression ist eine IN Abfrage: Somit zeigt sich erneut: Da können mehrere Projektnummern angegeben werden!

Man könnte sich jetzt z.B. einmal Anschauen, was Operator sonst noch so definiert. Da ist evtl. auch sowas wie größer als, kleiner als und so. Dann könnte man alle Projekte eines Jahres Abfragen so dies gewünscht ist. Der Data Access Layer scheint also sehr viel zu können. Nur eben sehe ich immer noch mehrere Probleme:
a) Dein konkretes Problem verstehe ich derzeit nicht.
b) Die Beschreibung der zu verwendenden Library fehlt komplett - wir raten anhand von kleinen Codeschnipseln herum.
 
@kneitzel ,
wie kann ich alle Projekte eines Jahres Abfragen ?
übrigens
Operator
Class to distinguish various operators used in an Expression.

See Also: Serialized Form
 
also Solche Abfrage, wie im normalen Lib, gib nicht bei uns und zwar

Java:
public class App {

    public static void main(String[] args) throws ClassNotFoundException {
       
        // Connect to database
        String hostName = "xxxxxxxxx"; // update me
        String dbName = "DMT"; // update me
        String user = "sa"; // update me
        String password = "46,00fas75"; // update me
        String url = "jdbc:mysql://" + hostName + "/" + dbName + "/" + user + "/" + password;
        Connection connection = null;
       

        try {
            connection = DriverManager.getConnection(url);
            String schema = connection.getSchema();
            System.out.println("Successful connection - Schema: " + schema);

            System.out.println("Query data example:");
            System.out.println("=========================================");

            // Create and execute a SELECT SQL statement.
            String selectSql = "SELECT [Projektnummer]FROM [dbo].[Boards]";

            try (Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(selectSql)) {

                // Print results from select statement
                System.out.println("Projektnummer");
                while (resultSet.next())
                {
                    System.out.println(resultSet.getString(1) + " "
                        + resultSet.getString(2));
                }
                connection.close();
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
@kneitzel ,
wie kann ich alle Projekte eines Jahres Abfragen ?
übrigens
Operator
Class to distinguish various operators used in an Expression.

See Also: Serialized Form
Also dieser Auszug der Dokumentation zu Operator sagt erst einmal nichts aus. Ich vermute, dass in der Klasse mehrere Konstanten definiert sind, so wie eben das Operator.IN, welches Du verwendet hast. Ebenso wichtig ist die Frage nach dem Typ des Projektcodes. Da wurden bisher nur Strings als Parameter übergeben, daher vermute ich einmal, dass diese vom Typ (n)(var)char sind. Daher würde ich an Deiner Stelle mal nach einem Operator.LIKE schauen. Gibt es sowas in der Art? Wenn es das gibt, dann würde ich als Wert einfach ein "2019%" oder so übergeben um eben alle Projekte des Jahres 2019 zu erhalten.

Wichtig ist dabei natürlich, dass Du kein Array aufbaust so wie bei der Operator.IN Abfrage. Sollte sich von alleine verstehen, aber Du hast hier einen relativ unbedarften Eindruck hinterlassen, was Software Entwicklung angeht.

Als Code wäre dann also sowas wie
Java:
IndexingPropertyName idxProjnr = new IndexingPropertyName("Projektnummer", docArea);
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
denkbar. Wobei Expression als dritten Parameter evtl. keinen raw Type wie ein String erwartet sondern immer ein QueryOperand, so dass da evtl. statt "2019%" ein new QueryOperand("2019%") oder so kommen muss.
(Aber das ist jetzt absolut geraten! Ich sehe ja nur die Nutzung von QueryOperandList und kenne die Lib von euch in keiner Weise. Daher kann ich nicht wissen, was Operator alles so bietet, was die super Typen / Interfaces von QueryOperandList sind bzw. was der 3. Parameter für einen Typ hat und so weiter ...)
 
Also dieser Auszug der Dokumentation zu Operator sagt erst einmal nichts aus. Ich vermute, dass in der Klasse mehrere Konstanten definiert sind, so wie eben das Operator.IN, welches Du verwendet hast. Ebenso wichtig ist die Frage nach dem Typ des Projektcodes. Da wurden bisher nur Strings als Parameter übergeben, daher vermute ich einmal, dass diese vom Typ (n)(var)char sind. Daher würde ich an Deiner Stelle mal nach einem Operator.LIKE schauen. Gibt es sowas in der Art? Wenn es das gibt, dann würde ich als Wert einfach ein "2019%" oder so übergeben um eben alle Projekte des Jahres 2019 zu erhalten.

Wichtig ist dabei natürlich, dass Du kein Array aufbaust so wie bei der Operator.IN Abfrage. Sollte sich von alleine verstehen, aber Du hast hier einen relativ unbedarften Eindruck hinterlassen, was Software Entwicklung angeht.

Als Code wäre dann also sowas wie
Java:
IndexingPropertyName idxProjnr = new IndexingPropertyName("Projektnummer", docArea);
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
denkbar. Wobei Expression als dritten Parameter evtl. keinen raw Type wie ein String erwartet sondern immer ein QueryOperand, so dass da evtl. statt "2019%" ein new QueryOperand("2019%") oder so kommen muss.
(Aber das ist jetzt absolut geraten! Ich sehe ja nur die Nutzung von QueryOperandList und kenne die Lib von euch in keiner Weise. Daher kann ich nicht wissen, was Operator alles so bietet, was die super Typen / Interfaces von QueryOperandList sind bzw. was der 3. Parameter für einen Typ hat und so weiter ...)
@kneitzel,

Danke für den Vorschlag
public IndexingPropertyName( String name, String areaName)

Creates an indexing property identifier with a specific name and area name.
Parameters:name - name of property identifier as StringareaName - valid area name as String
 
Zuletzt bearbeitet:
Danke für den Vorschlag leider IndexpropertyName erwartet 3 parameter
public IndexingPropertyName( String name, String areaName)

Creates an indexing property identifier with a specific name and area name.
Parameters:name - name of property identifier as StringareaName - valid area name as String
In deinem Code weiter oben bekommt es zwei Parameter, in @kneitzels Beispiel bekommt es zwei Parameter und laut der Doku hier bekommt es zwei Parameter - wie kommst du plötzlich auf drei?
 
Der Code mit dem IndexingPropertyName ist 1:1 übernommen ohne Anpassung. Bezüglich der zweiten Zeile: Es würde mich wundern, wenn der Code so wie vorgeschlagen funktionieren würde (Wenn dem so wäre: Blödes Universum! Da wäre mit ein Lotto Jackpot lieber gewesen!). Dies sind lediglich Anregungen, wie es aussehen könnte. Für korrekten Code müsste man die zugrunde liegende Library kennen und ich kenne diese nicht und mache nur Vorschläge, wonach man schauen könnte. Verwendete Namen sind dabei lediglich Namen, die ich prinzipiell für verwendbar halten würde. (Also wenn der SQL Operator "in" als Operator.IN abgebildet ist, dann ist der SQL Operator "like" evtl. Operator.LIKE. Und wenn es ein QueryOperandList gibt der einen Listen Query Operanden darstellt, dann ist ein reiner Query Operand evtl. QueryOperand.... Aber was sich der Entwickler der Library gedacht hat kann ich nicht wissen. Daher ist das nur als Anregung für weitere Recherche auf Deiner Seite.
 
Der Code mit dem IndexingPropertyName ist 1:1 übernommen ohne Anpassung. Bezüglich der zweiten Zeile: Es würde mich wundern, wenn der Code so wie vorgeschlagen funktionieren würde (Wenn dem so wäre: Blödes Universum! Da wäre mit ein Lotto Jackpot lieber gewesen!). Dies sind lediglich Anregungen, wie es aussehen könnte. Für korrekten Code müsste man die zugrunde liegende Library kennen und ich kenne diese nicht und mache nur Vorschläge, wonach man schauen könnte. Verwendete Namen sind dabei lediglich Namen, die ich prinzipiell für verwendbar halten würde. (Also wenn der SQL Operator "in" als Operator.IN abgebildet ist, dann ist der SQL Operator "like" evtl. Operator.LIKE. Und wenn es ein QueryOperandList gibt der einen Listen Query Operanden darstellt, dann ist ein reiner Query Operand evtl. QueryOperand.... Aber was sich der Entwickler der Library gedacht hat kann ich nicht wissen. Daher ist das nur als Anregung für weitere Recherche auf Deiner Seite.
@kneitzel,
habe ich doch gesagt es war einen Fehler von mir hatte ich nicht richtig gesehen
leider akzeptiert er nicht diese Schreibweise
Java:
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
 

Anhänge

  • edr.png
    edr.png
    17,6 KB · Aufrufe: 52
leider akzeptiert er nicht diese Schreibweise
Java:
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
Der ganze Beitrag von @kneitzel bezieht sich darauf, dass die Schreibweise so nicht klappen wird.

Wir können hier alle nur raten, wie man das machen kann, was du machen willst.


BTW, interne Firmendaten solltest du vielleicht nicht öffentlich posten, auch nicht in Namen von Bildern...
 

Neue Themen


Zurück
Oben