🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Tuptus Sun, 20 Dec 1998 15:57
MicroStation-tekst w celkach
#287
Author: Tuptus
Date: Sun, 20 Dec 1998 15:57
68 lines
3151 bytes
Zadanie:
skartowac pikiety terenowe na podstawie danych zawartych w pliku tekstowym
("nr" x y h)
na rysunku (mapie) ma byc widoczny numer pikiety oraz jej wysokosc
przedstawiona jako celka (punkt i tekst)
Poniewaz w wiekszosci przypadkow klienci wymagali zgodnosci z Inzasem to
musze uzywac odpowiedniej celki (punkt przedstawiony jako centryczne okregi,
text wprowadzany do Data Field)
Przygotowalem sobie taka aplikacje w B. i uzywam jej do dzis ale sa
problemy. Po wypelnieniu pola tekstem nie można go juz uzywac jako Data
Field. Okazuje sie ze ten element wyglada tak <<123.3. Brakuje zamkniecia
pola. ponizej podaje fragment kodu odpowiedzialny za wypelnianie pola:
    Dim elemSet   as New MbeElementSet
    Dim elem      as New MbeElement
    Dim setMember as MbeSetMember
    Dim filePos   as Long
    Dim numEDFields as Integer
    Dim EDFields() as MbeEDField
    (... otwarcie pliku z danymi)
    Do While Not Eof(filenum)
        Input #filenum, nr, x, y, h
        h=int(h*10)/10
        point.x = y
        point.y = x
        point.z = 0

        If h<>0 Then
                MbeSendCommand "AC=rzwys1"
                x=point.x
                y=point.y
                rob=Mid$(Str$(h),2)
                MbeSendDataPoint point, 1%
                MbeStartLocate
                MbeSendDataPoint point, 1%
                filePos=elem.fromLocate()
                stat=elem.getOrigin(point2)
                a#=point2.x-x
                a1#=point2.y-y
                a2=int(abs(a)*10)
                a3=int(abs(a1)*10)
                while (a2<>0 Or a3<>0 )
                    MbeSendReset
                    filePos=elem.fromLocate()
                    stat=elem.getOrigin(point2)
                    x2#=point2.x
                    y2#=point2.y
                    a# = (x - x2)
                    a1# = (y - y2)
                    a2=int(abs(a)*10)
                    a3=int(abs(a1)*10)
                wend
                do
                    stat=elem.nextComponent
                Loop until elem.type=MBE_Text
                stat=elem.getString(numer, numEDFields, EDFields)
                stat=elem.setString(rob)
                stat=elem.rewrite()
                elemSet.clear
        End If
        (... tutaj rysuje numer pikiety)
    Loop

Gdzie szukac bledu?
Sprawa o tyle istotna, ze juz kilka osob pytalo o tego typu aplikacje a
rozwiazanie mozna by zastosowac rowniez do innych celow (np. automat
kartowania pkt. osnowy)

Tuptus
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads