🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.gis
Article #287

MicroStation-tekst w celkach

#287
From: 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
Technical Details
Message-ID: <75l3j5$u2c$3@astercity.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!news.memax.krakow.pl!news.astercity.net!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!news.memax.krakow.pl!news.astercity.net!not-for-mail
From: "Tuptus" <wgabor@friko.onet.pl>
Newsgroups: pl.comp.gis
Subject: MicroStation-tekst w celkach
Date: Sun, 20 Dec 1998 16:57:06 +0100
Organization: AsterCity Cable
Lines: 70
Message-ID: <75l3j5$u2c$3@astercity.net>
NNTP-Posting-Host: pdi007.torun.pdi.net
X-Newsreader: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit