• Nie Znaleziono Wyników

Form1.vb

N/A
N/A
Protected

Academic year: 2021

Share "Form1.vb "

Copied!
10
0
0

Pełen tekst

(1)

Tematy: Xml

Zapis i odczyt stopnia przy pomocy serializacji.

Zapis i odczyt całego wału przy pomocy własnych procedur.

Zamierzamy dodać do aplikacji nowe funkcjonalności:

1. Zapis i odczyt pojedynczego stopnia wału serializacją.

2. Zapis i odczyt całego wału metodą tekstową.

3. Zapis i odczyt kolekcji – stopniami.

Funkcjonalności te dodamy do zadania z zajęć 3. Kod dodany wyróżniono kolorem żółtym.

Class1.vb

Public Class Stopien_walu_parametry Private _Srednica_stopnia As Single Private _Dlugosc_stopnia As Single Private _Faza As Single

Private _Modyfikacja_stopnia As String Public Property Srednica_stopnia As Single Get

Return _Srednica_stopnia End Get

Set(ByVal value As Single) _Srednica_stopnia = value End Set

End Property

Public Property Dlugosc_stopnia As Single Get

Return _Dlugosc_stopnia End Get

Set(ByVal value As Single) _Dlugosc_stopnia = value End Set

End Property

Public Property Faza As Single Get

Return _Faza End Get

Set(ByVal value As Single) _Faza = value

End Set End Property

Public Property Modyfikacja_stopnia As String Get

Return _Modyfikacja_stopnia End Get

Set(ByVal value As String)

_Modyfikacja_stopnia = value End Set

End Property

Public Sub Rysuj(ByVal pozycja_X As Single, ByVal pozycja_Y As Single, _

ByVal dlugosc As Single, ByVal srednica As Single) Dim objRys As System.Drawing.Graphics

Dim objPioroWal As New System.Drawing.Pen(Color.Red, 2) objRys = Form1.CreateGraphics

objRys.DrawRectangle(objPioroWal, pozycja_X, pozycja_Y, dlugosc, srednica) End Sub

(2)

Public Sub Rysuj(ByVal pozycja_X As Single, ByVal pozycja_Y As Single, _

ByVal dlugosc As Single, ByVal srednica As Single, ByVal faza As Single) Dim objRys As System.Drawing.Graphics

Dim objPioroWal As New System.Drawing.Pen(Color.Red, 2) Dim faza_rys As Single

objRys = Form1.CreateGraphics If faza > 0 Then

objRys.DrawRectangle(objPioroWal, pozycja_X + faza, pozycja_Y, _

dlugosc - faza, srednica) objRys.DrawLine(objPioroWal, pozycja_X, pozycja_Y + faza, _

pozycja_X, pozycja_Y + srednica - faza)

objRys.DrawLine(objPioroWal, pozycja_X, pozycja_Y + faza, pozycja_X + faza, _ pozycja_Y)

objRys.DrawLine(objPioroWal, pozycja_X, pozycja_Y + srednica - faza, _ pozycja_X + faza, pozycja_Y + srednica) ElseIf faza < 0 Then

faza_rys = Math.Abs(faza)

objRys.DrawRectangle(objPioroWal, pozycja_X, pozycja_Y, dlugosc - faza_rys, _ srednica) objRys.DrawLine(objPioroWal, pozycja_X + dlugosc, pozycja_Y + faza_rys, _ pozycja_X + dlugosc, pozycja_Y + srednica - faza_rys) objRys.DrawLine(objPioroWal, pozycja_X + dlugosc, pozycja_Y + faza_rys, _ pozycja_X + dlugosc - faza_rys, pozycja_Y) objRys.DrawLine(objPioroWal, pozycja_X + dlugosc, _

pozycja_Y + srednica - faza_rys, pozycja_X + dlugosc - faza_rys, _ pozycja_Y + srednica)

End If End Sub End Class

Public Class Modyfikacja

Public Overridable Sub Rysuj(ByVal X1 As Single, ByVal Y1 As Single, _ ByVal X2 As Single, ByVal Y2 As Single, _ ByVal X3 As Single, ByVal Y3 As Single, _ ByVal X4 As Single, ByVal Y4 As Single) End Sub

End Class

Public Class Pret

Inherits Modyfikacja

Public Overrides Sub Rysuj(ByVal X1 As Single, ByVal Y1 As Single, _ ByVal X2 As Single, ByVal Y2 As Single, _ ByVal X3 As Single, ByVal Y3 As Single, _ ByVal X4 As Single, ByVal Y4 As Single) Dim objRys As System.Drawing.Graphics

Dim objPioroWalu As New System.Drawing.Pen(Color.Red, 1) objRys = Form1.CreateGraphics

objRys.DrawLine(objPioroWalu, X1, Y1, X4, Y4) objRys.DrawLine(objPioroWalu, X2, Y2, X3, Y3) End Sub

End Class

Public Class Gwint

Inherits Modyfikacja

Public Overrides Sub Rysuj(ByVal X1 As Single, ByVal Y1 As Single, _ ByVal X2 As Single, ByVal Y2 As Single, _ ByVal X3 As Single, ByVal Y3 As Single, _ ByVal X4 As Single, ByVal Y4 As Single) Dim objRys As System.Drawing.Graphics

(3)

Dim objPioroWalu As New System.Drawing.Pen(Color.Red, 1) objRys = Form1.CreateGraphics

objRys.DrawLine(objPioroWalu, X1, Y1, X3, Y3) objRys.DrawLine(objPioroWalu, X2, Y2, X4, Y4) End Sub

End Class

Public Class Stopien_walu_powiazania Inherits Stopien_walu_parametry

Public Stopien_walu_odziedziczony As Stopien_walu_parametry Public Adres_po As Stopien_walu_parametry

End Class

Form1.vb

Imports System.IO Imports System.Xml

Public Class Form1 Dim x1 As Single Dim y1 As Single

Dim objRys As System.Drawing.Graphics

Dim objPioroOs As New System.Drawing.Pen(Color.Green, 1) Dim objPioroWal As New System.Drawing.Pen(Color.Red, 2) Dim X_osi As Integer = 50

Dim Y_osi As Integer = 200 Dim x_pocz As Integer = X_osi Dim Liczba_stopni As Integer

''Dim wsk_pocz_walka As Stopien_walu_powiazania ''Dim wsk_kon_walka As Stopien_walu_powiazania Dim Kolekcja_stopni_walu As New Collection Dim mode As Integer

Dim faza As Single = 0

Dim x_nowy_stopien As Single

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load objRys = Me.CreateGraphics

mode = 0 End Sub

Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) _

Handles Me.MouseMove LabelKoordynaty.Text = "X=" & e.X & " Y=" & e.Y

End Sub

Private Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) _

Handles Me.MouseClick Dim x_stopnia As Single

Dim y_stopnia As Single Dim szerokosc As Single Dim wysokosc As Single

Dim mojStopien As New Stopien_walu_parametry

''Dim mojStopien_powiazania As New Stopien_walu_powiazania Dim i As Integer

Dim objModyf As Modyfikacja Dim srednica As Single Dim dlugosc As Single

objRys.DrawLine(objPioroOs, X_osi, Y_osi, 600, Y_osi) objRys.DrawLine(objPioroOs, X_osi, X_osi, X_osi, 350)

(4)

If mode = 10 Then x1 = e.X y1 = e.Y

x_stopnia = x_pocz y_stopnia = y1

szerokosc = x1 - x_pocz wysokosc = (Y_osi - y1) * 2 x_pocz = x_pocz + szerokosc

Liczba_stopni = Liczba_stopni + 1 mojStopien.Dlugosc_stopnia = szerokosc mojStopien.Srednica_stopnia = wysokosc mojStopien.Faza = faza

Kolekcja_stopni_walu.Add(mojStopien) If faza <> 0 Then

mojStopien.Rysuj(x_stopnia, y_stopnia, szerokosc, wysokosc, faza) Else

mojStopien.Rysuj(x_stopnia, y_stopnia, szerokosc, wysokosc) End If

x_nowy_stopien = x_pocz ElseIf mode = 13 Then

x1 = e.X

x_pocz = X_osi

objRys.Clear(SystemColors.Control) i = 1

Do Until x1 > x_pocz And x1 <= x_pocz +

Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia x_pocz = x_pocz + Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia

i = i + 1 Loop

Kolekcja_stopni_walu.Remove(i) Liczba_stopni = Liczba_stopni - 1 Call Narysuj()

ElseIf mode = 21 Then 'pręt x1 = e.X

x_pocz = X_osi i = 1

Do Until x1 > x_pocz And x1 <= x_pocz +

Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia x_pocz = x_pocz + Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia

i = i + 1 Loop

mojStopien = Kolekcja_stopni_walu.Item(i) mojStopien.Modyfikacja_stopnia = "Pret"

objModyf = New Pret

srednica = mojStopien.Srednica_stopnia dlugosc = mojStopien.Dlugosc_stopnia

objModyf.Rysuj(x_pocz, Y_osi - srednica / 2, x_pocz, Y_osi + srednica / 2,

x_pocz + dlugosc, Y_osi - srednica / 2, x_pocz + dlugosc, Y_osi + srednica / 2) x_pocz = x_nowy_stopien

ElseIf mode = 22 Then 'gwint x1 = e.X

x_pocz = X_osi i = 1

Do Until x1 > x_pocz And x1 <= x_pocz +

(5)

x_pocz = x_pocz + Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia i = i + 1

Loop

mojStopien = Kolekcja_stopni_walu.Item(i) mojStopien.Modyfikacja_stopnia = "Gwint"

objModyf = New Gwint

srednica = mojStopien.Srednica_stopnia dlugosc = mojStopien.Dlugosc_stopnia

objModyf.Rysuj(x_pocz, Y_osi - srednica / 2 + 8, x_pocz, Y_osi + srednica / 2 - 8,

x_pocz + dlugosc, Y_osi - srednica / 2 + 8, x_pocz + dlugosc, Y_osi + srednica / 2 - 8) x_pocz = x_nowy_stopien

ElseIf mode = 40 Then 'XML - zapisywanie stopnia do pliku, Serializacja x1 = e.X

x_pocz = X_osi i = 1

Do Until x1 > x_pocz And x1 <= x_pocz + _

Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia x_pocz = x_pocz + Kolekcja_stopni_walu.Item(i).Dlugosc_stopnia

i = i + 1 Loop

mojStopien = Kolekcja_stopni_walu.Item(i)

Dim SerializacjaDoPlikuXml As Serialization.XmlSerializer

Dim plikXML As FileStream = New FileStream("Dane_stopnia.xml", _

FileMode.Create, FileAccess.Write, FileShare.None) SerializacjaDoPlikuXml = _

New Serialization.XmlSerializer(GetType(Stopien_walu_parametry)) SerializacjaDoPlikuXml.Serialize(plikXML, mojStopien)

plikXML.Close()

MsgBox("Plik XML dla stopnia został zbudowany.") x_pocz = x_nowy_stopien

End If End Sub

Private Sub PokażToolStripMenuItem_Click(sender As Object, e As EventArgs) _

Handles PokażToolStripMenuItem.Click Call Narysuj()

End Sub

Private Sub SkasujToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles SkasujToolStripMenuItem.Click objRys.Clear(SystemColors.Control)

End Sub

Private Sub Narysuj()

Dim x_stopnia As Single Dim y_stopnia As Single Dim szerokosc As Single Dim wysokosc As Single

''Dim walek_tim As Stopien_walu_powiazania Dim wsk_kolekcji As Stopien_walu_parametry Dim objModyf As Modyfikacja

Dim srednica As Single Dim dlugosc As Single

objRys.DrawLine(objPioroOs, X_osi, Y_osi, 600, Y_osi) objRys.DrawLine(objPioroOs, X_osi, X_osi, X_osi, 350) x_pocz = X_osi

(6)

For Each wsk_kolekcji In Kolekcja_stopni_walu x_stopnia = x_pocz

y_stopnia = Y_osi - wsk_kolekcji.Srednica_stopnia / 2 szerokosc = wsk_kolekcji.Dlugosc_stopnia

wysokosc = wsk_kolekcji.Srednica_stopnia If wsk_kolekcji.Faza <> 0 Then

wsk_kolekcji.Rysuj(x_stopnia, y_stopnia, szerokosc, wysokosc,

wsk_kolekcji.Faza) Else

wsk_kolekcji.Rysuj(x_stopnia, y_stopnia, szerokosc, wysokosc) End If

srednica = wsk_kolekcji.Srednica_stopnia dlugosc = wsk_kolekcji.Dlugosc_stopnia

If wsk_kolekcji.Modyfikacja_stopnia = "Pret" Then objModyf = New Pret

objModyf.Rysuj(x_pocz, Y_osi - srednica / 2, x_pocz, Y_osi + srednica / 2,

x_pocz + dlugosc, Y_osi - srednica / 2, x_pocz + dlugosc, Y_osi + srednica / 2) ElseIf wsk_kolekcji.Modyfikacja_stopnia = "Gwint" Then objModyf = New Gwint

objModyf.Rysuj(x_pocz, Y_osi - srednica / 2 + 8, x_pocz, Y_osi + srednica / 2 - 8,

x_pocz + dlugosc, Y_osi - srednica / 2 + 8, x_pocz + dlugosc, Y_osi + srednica / 2 - 8) End If

x_pocz = x_pocz + szerokosc Next

End Sub

Private Sub NowyWałekToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles NowyWałekToolStripMenuItem.Click mode = 0

x_pocz = X_osi

Kolekcja_stopni_walu.Clear() Liczba_stopni = 0

objRys.Clear(SystemColors.Control)

objRys.DrawLine(objPioroOs, X_osi, Y_osi, 600, Y_osi) objRys.DrawLine(objPioroOs, X_osi, X_osi, X_osi, 350) End Sub

Private Sub StopnieBezFazyToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles StopnieBezFazyToolStripMenuItem.Click mode = 10

faza = 0 End Sub

Private Sub StopnieZFazaZLewejStronyToolStripMenuItem_Click(sender As Object, _ e As EventArgs) Handles StopnieZFazaZLewejStronyToolStripMenuItem.Click mode = 10

faza = 8 End Sub

Private Sub StopnieZFazaZPrawejStronyToolStripMenuItem_Click(sender As Object, _ e As EventArgs) Handles StopnieZFazaZPrawejStronyToolStripMenuItem.Click mode = 10

faza = -8 End Sub

(7)

Private Sub NicNieRóbToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles NicNieRóbToolStripMenuItem.Click mode = 0

End Sub

Private Sub UsuńStopieńToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles UsuńStopieńToolStripMenuItem.Click mode = 13

End Sub

Private Sub PrętToolStripMenuItem_Click(sender As Object, e As EventArgs) _

Handles PrętToolStripMenuItem.Click mode = 21

End Sub

Private Sub GwintToolStripMenuItem_Click(sender As Object, e As EventArgs) _

Handles GwintToolStripMenuItem.Click mode = 22

End Sub

Private Sub StopieńZapiszToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles StopieńZapiszToolStripMenuItem.Click mode = 40

End Sub

Private Sub StopieńCzytajToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles StopieńCzytajToolStripMenuItem.Click ' XML stopień czytaj; Serializacja

Dim mojStopien As New Stopien_walu_parametry

Dim PlikDanych As FileStream = File.Open("Dane_stopnia.xml", FileMode.Open, _ FileAccess.Read) Dim MojaSerializacja As New _

Serialization.XmlSerializer(GetType(Stopien_walu_parametry)) mojStopien = MojaSerializacja.Deserialize(PlikDanych)

PlikDanych.Close()

Kolekcja_stopni_walu.Add(mojStopien) Liczba_stopni = Liczba_stopni + 1 Call Narysuj()

End Sub

Private Sub WałekZapiszToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles WałekZapiszToolStripMenuItem.Click ' XML Zapis całego wałka tekstowo

Dim plik As String

Dim dlugosc, srednica, faza As Single Dim modyfikacja_stopnia As String plik = "Dane_walka.xml"

FileOpen(1, plik, OpenMode.Output)

PrintLine(1, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & "?>") PrintLine(1, "<Walek xmlns:xsi=" & Chr(34) & _

"http://www.w3.org/2001/XMLSchema-instance" & _ Chr(34) & " xmlns:xsd=" & Chr(34) & _

"http://www.w3.org/2001/XMLSchema" & Chr(34) & ">") For Each wsk_kolekcji In Kolekcja_stopni_walu

PrintLine(1, "<Stopien_walu>")

srednica = wsk_kolekcji.Srednica_stopnia

PrintLine(1, " <Srednica_stopnia>" & srednica.ToString & _

"</Srednica_stopnia>") dlugosc = wsk_kolekcji.Dlugosc_stopnia

PrintLine(1, " <Dlugosc_stopnia>" & dlugosc.ToString & _

"</Dlugosc_stopnia>") faza = wsk_kolekcji.faza

(8)

PrintLine(1, " <Faza>" & faza.ToString & "</Faza>") modyfikacja_stopnia = wsk_kolekcji.Modyfikacja_stopnia

PrintLine(1, " <Modyfikacja_stopnia>" & modyfikacja_stopnia & _

"</Modyfikacja_stopnia>") PrintLine(1, "</Stopien_walu>")

Next

PrintLine(1, "</Walek>") FileClose(1)

MsgBox("Zapisano do pliku " & plik) End Sub

Private Sub WałekCzytajToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles WałekCzytajToolStripMenuItem.Click ' Odczyt całego wałka tekstowo

Dim plik, srednica, dlugosc, faza, modyfikacja_stopnia, znak, wiersz As String Dim pozycja_znaku As Integer

plik = "Dane_walka.xml"

FileOpen(1, plik, OpenMode.Input) Liczba_stopni = 0

Do While Not EOF(1) 'czytamy do końca pliku wiersz = LineInput(1) 'czytamy wiersz

If Mid(wiersz, 1, 14) = "<Stopien_walu>" Then 'szukamy <Stopien_walu>

'jeśli odczytaliśmy ten wiersz, to następnym wierszem jest np.:

' <Srednica_stopnia>224</Srednica_stopnia>

'12345678901234567890 wiersz = LineInput(1) srednica = ""

pozycja_znaku = 21 'na tej pozycji leży pierwsza cyfra średnicy znak = Mid(wiersz, pozycja_znaku, 1)

Do While znak <> "<"

srednica = srednica & znak

pozycja_znaku = pozycja_znaku + 1 znak = Mid(wiersz, pozycja_znaku, 1) Loop

' teraz będzie długość:

' <Dlugosc_stopnia>54</Dlugosc_stopnia>

'1234567890123456789 wiersz = LineInput(1) dlugosc = ""

pozycja_znaku = 20 'na tej pozycji leży pierwsza cyfra długości znak = Mid(wiersz, pozycja_znaku, 1)

Do While znak <> "<"

dlugosc = dlugosc & znak

pozycja_znaku = pozycja_znaku + 1 znak = Mid(wiersz, pozycja_znaku, 1) Loop

' teraz będzie faza:

' <Faza>0</Faza>

'12345678

wiersz = LineInput(1) faza = ""

pozycja_znaku = 9 'na tej pozycji keży pierwsza cyfra fazy znak = Mid(wiersz, pozycja_znaku, 1)

Do While znak <> "<"

faza = faza & znak

pozycja_znaku = pozycja_znaku + 1

(9)

znak = Mid(wiersz, pozycja_znaku, 1) Loop

' teraz będzie modyfikacja_stopnia:

' <Modyfikacja_stopnia>Pret</Modyfikacja_stopnia>

'12345678901234567890123 wiersz = LineInput(1) modyfikacja_stopnia = ""

pozycja_znaku = 24 'na tej pozycji leży pierwszy znak modyfikacji znak = Mid(wiersz, pozycja_znaku, 1)

Do While znak <> "<"

modyfikacja_stopnia = modyfikacja_stopnia & znak pozycja_znaku = pozycja_znaku + 1

znak = Mid(wiersz, pozycja_znaku, 1) Loop

Dim mojStopien As New Stopien_walu_parametry mojStopien.Dlugosc_stopnia = CSng(dlugosc) mojStopien.Srednica_stopnia = CSng(srednica) mojStopien.Faza = CSng(faza)

mojStopien.Modyfikacja_stopnia = modyfikacja_stopnia Kolekcja_stopni_walu.Add(mojStopien)

Liczba_stopni = Liczba_stopni + 1 End If

Loop

FileClose(1) Call Narysuj() End Sub

Private Sub ZapiszKolekcjęToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ZapiszKolekcjęToolStripMenuItem.Click 'Zapisywanie kolekcji - każdy stopień w oddzielnym pliku

Dim mojStopien As New Stopien_walu_parametry Dim i As Integer

Dim NazwaPliku As String

Dim SerializacjadoPlikuXml As Serialization.XmlSerializer For i = 1 To Liczba_stopni

mojStopien = Kolekcja_stopni_walu.Item(i)

NazwaPliku = "Dane_stopnia_kolekcji" & i.ToString & ".xml"

Dim plikXml As FileStream = New FileStream(NazwaPliku, FileMode.Create, _ FileAccess.Write, FileShare.None) SerializacjadoPlikuXml = _

New Serialization.XmlSerializer(GetType(Stopien_walu_parametry)) SerializacjadoPlikuXml.Serialize(plikXml, mojStopien)

plikXml.Close() Next

MsgBox("Wałek - Kolekcja stopni został zapisany.") End Sub

(10)

Private Sub CzytajKolekcjęToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles CzytajKolekcjęToolStripMenuItem.Click 'Odczyt kolekcji z wielu plików stopni.

Dim i As Integer

Dim NazwaPliku As String Liczba_stopni = 0

i = 1 Do

Dim mojStopien As New Stopien_walu_parametry

NazwaPliku = "Dane_stopnia_kolekcji" & i.ToString & ".xml"

If Not File.Exists(NazwaPliku) Then

MsgBox("Liczba wczytanych stopni = " & Liczba_stopni) Exit Do

End If

Dim PlikDanych As FileStream = File.Open(NazwaPliku, FileMode.Open, _ FileAccess.Read) Dim mojaSerializacja As New _

Serialization.XmlSerializer(GetType(Stopien_walu_parametry)) mojStopien = mojaSerializacja.Deserialize(PlikDanych)

PlikDanych.Close() File.Delete(NazwaPliku)

Kolekcja_stopni_walu.Add(mojStopien) Liczba_stopni = Liczba_stopni + 1 i = i + 1

Loop

Call Narysuj() End Sub

End Class

Cytaty

Powiązane dokumenty

In Global Justice: A Cosmopolitan Account Gillian Brock makes three impor- tant claims: that we have duties of justice to all human beings and not only those with whom

Stany Zjednoczone, będące kolebką franchisingu cieszą się najwięk- szą liczbą zarówno systemów franchisingowych, jak placówek.. Jak wy- nika z raportu IFA (The

Losy członków dynastii, którzy opuścili w 1919 roku walące się imperium, w dalszym ciągu pozostają na dziejowym marginesie.. Fakt ten można uznać za podstawowy

Jeżeli transfer dokonywany jest w postaci odsetek, to pomniejszają one podstawę opodatkowania podatkiem dochodowym od osób prawnych, przy transferze za granicę jest pobierany

Nauczanie równoległe (parallel co-teaching) ma miejsce, kiedy dwóch lub więcej nauczycieli pracuje z różnymi grupami uczniów w różnych punktach tej samej sali. Grupy mogą

Wykorzystano również informacje z oficjalnego serwisu internetowego Ministerstwa Spraw Zagranicznych Izraela (http://www.mfa.gov.pl), Ambasady Izraela w Polsce

Pod tytułem Sarmata buduje rakietą ukazał się w nrze 98/10166 „Sztandaru Młodych“ wywiad przeprowadzony przez Krystynę Miłotworską z pracownikami Zakładu