Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zapisywanie do zmiennej, wyświetlenie i zerowanie - pętla


Rekomendowane odpowiedzi

Opublikowano

Siemka. Mam taki problem. A mianowicie mam fragment programu, który póki co wczytuje mi plik tekstowy do DataGridView dzieląc tekst tak jak chce. Następnie mam pętle która przeszukuje DataGridView i zapisuje niektóre informacje do zmiennych. Problem w tym że pewne zmienne są nadpisywane bo w tekście występuje to samo słowo. Jest to logiczne, aczkolwiek ja potrzebuje, aby działo się inaczej. Wytłumacze na przykładzie.

Mam taki tekst jak poniżej:

LOADTL/1,ADJUST,9,TURN
$$ COOLNT/
$$ TOOLCHANGEEND
$$  End of generation of : Turning Tool Change.1
OP_NAME/Planowanie
START_OP/LATHE
SPINDL_NAME/NAME,,NUMB,
$$  Start generation of : Planowanie
CAXISINVERTED/0
SWITCH/9,9
SPINDL/   70.0000,RPM,CCLW
BAXIS/    1.000000,    0.000000,    0.000000
LOADTL/2,ADJUST,9,TURN
$$ COOLNT/
$$ TOOLCHANGEEND
$$  End of generation of : Turning Tool Change.1
OP_NAME/Planowanie
START_OP/LATHE
SPINDL_NAME/NAME,,NUMB,
$$  Start generation of : Planowanie
CAXISINVERTED/1
SWITCH/9,9
SPINDL/   70.0000,RPM,CCLW
BAXIS/    1.000000,    0.000000,    1.000000

A fragment kodu aktywowany przyciskiem wyglada tak:

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 'tłumaczenie
        Dim intcount As Integer = 0

            For Each Row As DataGridViewRow In DataGridView1.Rows
                If DataGridView1.Rows(intcount).Cells(0).Value = "LOADTL" Then
                    Nr_narzedzia = " 000" + DataGridView1.Rows(intcount).Cells(1).Value
                    If DataGridView1.Rows(intcount).Cells(4).Value = "TURN" Then
                        Typ_narzedzia = "Tokarski"
                    Else
                        Typ_narzedzia = "Obrotowy"
                    End If
                End If

                If DataGridView1.Rows(intcount).Cells(0).Value = "CAXISINVERTED" Then
                    If DataGridView1.Rows(intcount).Cells(1).Value = "0" Then
                        Pozycja_C = " 01"
                    Else
                        Pozycja_C = " 02"
                    End If
                End If

                If DataGridView1.Rows(intcount).Cells(0).Value = "BAXIS" Then
                    If Typ_narzedzia = "Tokarski" Then
                        kat_BA_toczenie = " BA = " & Asin(DataGridView1.Rows(intcount).Cells(3).Value) * 180 / Math.PI
                        Select Case kat_BA_toczenie + Pozycja_C
                            Case " BA = 0" + " 01"
                                Poz = " 01 "
                            Case " BA = 0" + " 02"
                                Poz = " 02 "
                            Case " BA = 45" + " 01"
                                Poz = " 03 "
                            Case " BA = 45" + " 02"
                                Poz = " 04 "
                            Case " BA = 00" + " 01"
                                Poz = " 05 "
                            Case " BA = 90" + " 02"
                                Poz = " 06 "
                        End Select

                    ElseIf Typ_narzedzia = "Obrotowy" Then
                        kat_BA_obrotowy = "BA = " & Asin(DataGridView1.Rows(intcount).Cells(3).Value) * 180 / Math.PI + " G52"
                    End If
                End If
                intcount += 1
            Next Row

            If Typ_narzedzia = "Tokarski" Then
                TD = "TD = " + Poz + Nr_narzedzia + " M323"
            ElseIf Typ_narzedzia = "Obrotowy" Then
            TD = "TD = " + Pozycja_C + Nr_narzedzia + " M323" + BA

        End If

            program_nc.Items.Add(TD)

    End Sub

W tym momencie program wyświetla mi TD z tymi parametrami jakie przyjmuje ostatnio. Ja jednak potrzebuje takiego działania, że jak program zbierze wszystkie potrzebne parametry to wyświetla TD i zeruje wszystkie zmienne wykorzystane zmienne, tak aby dalej mógł zbierać nowe parametry i wyświetlić TD z kolejnymi parametrami.

Czy ktoś byłby mi w stanie pomóc bo nie wiem jak to zrealizować.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...