Wyszukanie tekstu w pliku i wklejenie do tekstboxa Winfows Forms

0

Witam, sprawę opiszę krótko i zwięźle.
Otóż mam plik, który znajduje się na pulpicie (ścieżka do niego jest: C:\Uzytkownicy...\pulpit\printer.ini). Z tego pliku potrzebuję znaleźć linijkę "fStepX = 0.007773679" i wyciąć tylko liczbę. Następnie wrzucić tą liczbę do textBoxa o nazwie "kroki X", lecz nie ma zielonego pojęcia jak to zrobić... Spędziłem dwa dni na szukaniu informacji, ale nie potrafię połączyć w jedną całość i proszę o pomoc.
Całe wczytywanie ma się dziać po kliknięciu przycisku "wczytaj wartości". Z góry dziękuję za pomoc :)

W załączniku dołączam plik, o którym mowa.

0

A z czym dokładnie masz ten problem?

0

@Golon, w pliku się najłatwiej regexami wyszukuje (przynajmniej mi) -

fStepX = ([0-9.]*)
0
some_ONE napisał(a):

A z czym dokładnie masz ten problem?

Problem polega na tym, że nie jestem zaawansowany w tej dziedzinie i dopiero się uczę i nie wiem jak to zapisać, żeby działało :)

Pixello napisał(a):

@Golon, w pliku się najłatwiej regexami wyszukuje (przynajmniej mi) -

fStepX = ([0-9.]*)

Okej, poszukam co to jest i dam znać ;D

Edit: Chyba, że jesteś w stanie wytłumaczyć mi tą twoją metodę :P

0
Golon napisał(a):

Problem polega na tym, że nie jestem zaawansowany w tej dziedzinie i dopiero się uczę i nie wiem jak to zapisać, żeby działało :)

Nie trzeba być zaawansowanym żeby to rozwiązać. Trzeba jedynie umieć określić z czym jest problem, żeby później znaleźć to w 3 minuty w google.

0

Metoda sztubacka:

  1. Wczytujesz plik do stringa
  2. Jedziesz po tym regexem jak w przykładzie https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx
  3. Profit??
0
some_ONE napisał(a):
Golon napisał(a):

Problem polega na tym, że nie jestem zaawansowany w tej dziedzinie i dopiero się uczę i nie wiem jak to zapisać, żeby działało :)

Nie trzeba być zaawansowanym żeby to rozwiązać. Trzeba jedynie umieć określić z czym jest problem, żeby później znaleźć to w 3 minuty w google.

Zakładając, że plik jest na pulpicie (może być gdziekolwiek, bo ścieżkę do pliku podać to nie problem) potrzebuję:

  1. W pliku printer1.txt znaleźć linijkę z tekstem "fstepX = 0.0068...""
  2. Wyświetlić wartość liczbową "0.0068..." w tekstboxie.

I teraz nie wiem jak mam zrobić, żeby program wiedział co się w tym pliku znajduje i zrobił punkty 1 i 2.

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void wczytaj_Click(object sender, EventArgs e)
        {
            string[] path = System.IO.File.ReadAllLines(@"C:\User\Patryk\pulpit\printer1.txt");
            string text = "fstepX";
            RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Compiled;
            string pattern = "fstepX";
            MatchCollection dopasowanie;
            Regex regexOptions = new Regex(pattern, options);
            dopasowanie = regexOptions.Matches(text);
        }
    }
}

Wiem na pewno, że ten kod nie działa ...

0

Nigdzie nie używasz path, a to na tą zmienną wczytałeś treść pliku. Zamiast tego wczytaj to do text i do regexa lepiej użyj ReadAllText, czyli

string text = System.IO.File.ReadAllText(@"C:\User\Patryk\pulpit\printer1.txt");

Później po prostu

myTextBox.Text = dopasowanie.First().Value;
0
dam1an napisał(a):

Nigdzie nie używasz path, a to na tą zmienną wczytałeś treść pliku. Zamiast tego wczytaj to do text i do regexa lepiej użyj ReadAllText, czyli

string text = System.IO.File.ReadAllText(@"C:\User\Patryk\pulpit\printer1.txt");

Później po prostu

myTextBox.Text = dopasowanie.First().Value;

Dzięki za radę, możliwe, że to działa. Napotkałem jednak (nie wiedziałem, że to może być trudne) problem ze ścieżką pliku... W żaden sposób nie może znaleźć pliku, próbowałem zmienić jego ścieżkę, tzn. przeniosłem go na "C:\ printer1.txt", zmieniłem go na tylko do odczytu, ale nic nie działało...

EDIT: Udało mi się go wczytać. Zapomniałem, że plik nazywa się "printer1.txt" a wpisywałem "printer.txt" -.-

1 użytkowników online, w tym zalogowanych: 0, gości: 1