Autor Beitrag
the_apprentice
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 19.04.17 13:08 
Hi zusammen,

nachdem mir bei meinem letzten Post so super geholfen wurde, wende ich mich doch gleich wieder an euch. :)
Mein Code ist momentan auf diesem Stand:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;



namespace ConsoleApplication3
{
    class Program
    {
        public static void Main()
        {
            string path;
            int delay;

            Console.WriteLine("Bitte geben Sie den Vollständigen Pfad der zu Importierenden txt an: ");
            path = Console.ReadLine();
            Console.WriteLine("Bitte geben Sie die länge des  Delays zwischen den einzelnen Eingaben ein (Millisekunden) \nDanach geht es sofort nach dem Delay Los! \nBitte direkt in das entsprechende Feld klicken" 
                + "\nBitte den Rechner während des Vorgangs am besten in Ruhe lassen!\nDas ausuführende Makro heißt LagerplatzZuweisung\n\nBeispiel für ein angemessenes Delay: 10000\nEingabe:");
            delay = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Das Programm startet in: " + delay + " Millisekunden!");
            
            
            string value = System.IO.File.ReadAllText(@path);
            string[] split = value.Split(new Char[] { ';',','});

            System.Threading.Thread.Sleep(delay);
           
               
            foreach (string s in split)
            {
                    
                    WindowsInput.InputSimulator.SimulateTextEntry(s);
                    WindowsInput.InputSimulator.SimulateKeyPress(WindowsInput.VirtualKeyCode.RETURN);


                    Console.WriteLine(s + "\tEingabe Erfolgreich                                                             #Copyright");
                    System.Threading.Thread.Sleep(delay);
                

                
            }
        }

        private static void AppActivate(string p)
        {
            throw new NotImplementedException();
            
        }
        
    }
}

Nun muss ich aber noch ein weiteres Enter am Ende jeder dritten Ausgabe einbauen.
(Das Programm füttert ein Makro mit Daten)
Ich habe auch schon probiert eine Schleife zu setzten die immer nach (3* die Dauer des delay + 500 Millisekunden) ein Enter raushaut.
Problem war hier, dass das Programm selbstverständlich dann in der Scheife fest hing...
Wie kann ich das am schlausten Einbauen?
Merke: Ich bin leider noch ein Anfänger wie man sicherlich sieht, also habt gnade^^

Grüße the_apprentice


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Mi 19.04.2017 um 14:45
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 19.04.17 14:48 
Meinst du so etwas
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
int nCounter = 0;

foreach (string s in split)
{
  // ...
  nCounter++;
  if (nCounter >= 3)
  {
    nCounter = 0;

    // Simulate Enter
  }
}
?
the_apprentice Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 19.04.17 15:25 
Vielen Dank, wir sind fast am Ziel :lol:
Ausgabe ist jetzt aber wie folgt
Zitat:

test1
test2
test3

test4

test5

test6
...

EDIT:
Funktioniert: In die if noch ein nCounter = 0; eingebaut :)

Vielen Dank an user profile iconTh69

Moderiert von user profile iconTh69: Vollzitat entfernt.
Moderiert von user profile iconTh69: C#-Tags hinzugefügt