Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Form - metoda Print
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003
Form - metoda Print

Witam,
Glupio mi bylo sie spytac ale w koncu sie zdecydowalem Mam pytania oto one:
1) W jaki sposob sprawdzic ze łańcuch znaków składa sie z samych spacji? Moze miec np Len(tekt) = 9 a tekst = "        "
2) Czy mozna zadeklarowac CurrentX na samym poczatku tak by bylo zakazdym razem rowne np 500 by tekst wyswietlany metoda Print byl zawsze oddalony o 500 twipow od lewej strony Z tego co czytalem CurrentX trzeba deklarowac przed kazdym Print jezeli chce sie cos wysiwetlic iles twipow od lewego brzegu Form
3) W jaki sposob inaczej zapisywac informacje do pliku bo instrukcja write robi wszędzie cudzyslowy a jak wywoluje Put to mam error 54 Bad File Mode lub gdy zmienie tryb na Random to pojawia sie Error 59 Bad Record Length Co zrobic?

Co do Ad3 to już sobie poradziłem kilka małych zmian
Open sciezka_plik For Output AS #1
  Print #1, zawartosc
Close #1

[Post edytowany dnia 14-06-2004 15:35 przez andrey]


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

14-06-2004 12:39
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

ad1 np tak:
if tekst = string(len(tekst),chr(32)) then

ad3 poczytaj sobie o trybach odczytu/zapisu plików w kursie na vb4all


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

14-06-2004 16:30
Pokaż profil m-a-x  Wyślij email do m-a-x   
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

1.W odniesieniu do CurrentX na stronie http://www.officecomputertraining.com/vbtutorial/tutpages/page26.asp -"Page 26: Printing"
czytamy:
You must continually set the CurrentX property for the right margin. The CurrentY property is automatically adjusted for the next printed line

2. W odniesieniu do zapisu do pliku to można jeszcze FileSystemObject np.:

Dim oFile As TextStream
Set oFso = New FileSystemObject
Set oFile = oFso.CreateTextFile(App.Path & "\" & "Fsotext.txt", True, False)
Call oFile.Write("aaaaaa" )

Pozdrawiam Karolina


_____________________________________________
Karolina

14-06-2004 18:54
Pokaż profil karolinavb  Wyślij email do karolinavb   
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Dziękuję m-a-x i tobie Karolino
Tak też podejrzewałem co do CurrentX ale miałem nadzieje
Mam jednak teraz problemik troszkę innego rodzaju napisalem sobie malutki programik do pracy odnajduje on wielokrotnie powtarzajacy sie string w jakims pliku .htm, html i usuwa go i zapisuje nowa wersje zmienionego pliku pozostawiajac orginal Kodzik dziala znakomicie z jednym malym ale zjada mi jak na zlosc przecinki przy znaczniku <meta name="Keywords" content="bla bla bla"> powinny byc przecinki a ich nie ma dlaczego tak sie dzieje ?

Oto kodzik:
' sc przechowuje sciezke do pliku ktory ma byc zmieniony
' tedit przechowuje tekst ktory ma byc wyciety
' slowem wyjasnienia porgramik wczytuje lancuch znakow i dzieli go na dwa lancuchy
' pierwszy zawierajacy znaki do szukanego slowa
' drugi zawierajacy znaki od szukanego slowa
' potem laczy je razem w caly lanuch juz bez
' slowa ktore chcielismy usunac
' sa pewnie wydajniejsze sposoby i szybsze nie sprawdzalem
' kodu na duzych plikach wiec nie wiem jak sie spisuje
' w warunkach bojowych czyli plikach powyzej 30 kb

Sub Kedit(ByVal sc As String, ByVal tedit As String)
  Dim t As String ' przechowuje kolejo odczytywane linije z pliku
  Dim t1 As String ' przechowuje znaki do szukanego slowa
  Dim t2 As String ' przechowuje znaki od szukanego slowa
  Dim l As Integer ' zlicza nam ile razy musial cos wyciac
 
  ChDrive Left(App.Path, 2)
  ChDir App.Path
 
  Open sc For Input As #1 ' otweiram plik do zmiany
    Open App.Path & "wynik.txt" For Output As #2 ' tworze plik w ktorym bedzie wynik
      Input #1, t ' czytam pierwsza linijke
        If InStr(1, t, tedit) <> 0 Then ' czytam ja tak dlugo
          Do Until InStr(1, t, tedit) = 0 ' dopoki nie wylowi wszystkich slow ktore ma usunac
              t1 = Mid(t, 1, InStr(1, t, tedit) - 1) ' dzieli lancuch na czesci przed slowem do usuniecia
              t2 = Mid(t, InStr(1, t, tedit) + Len(tedit) + 1) ' i po slowie do usuniecia
              t = t1 & t2 ' laczymy w nowy zgrany lancuch
              l = l + 1 ' zliczamy sobie ze ucinalismy
              DoEvents
          Loop
          Print #2, t
        Else
          Print #2, t
        End If
      Do Until (EOF(1) = True) ' podobnie postepujemy z reszta pliku
        Input #1, t
          If InStr(1, t, tedit) <> 0 Then
            Do Until InStr(1, t, tedit) = 0
                t1 = Mid(t, 1, InStr(1, t, tedit) - 1)
                t2 = Mid(t, InStr(1, t, tedit) + Len(tedit) + 1)
                t = t1 & t2
                l = l + 1
                DoEvents
            Loop
            Print #2, t
          Else
            Print #2, t
          End If
        DoEvents
      Loop
    Close #2
    Close #1
  Form1.Caption = Form1.Caption & "-" & l
End Sub
' Jezli komus podoba sie ten kodzik i chcialby go wykorzystac badz sie na jego bazie
' oprzec niech da mi znac na mejla napewno sie zgodze
' ale chcialbym wiedziec gdzie powedruje

Moj problem chyba jest spowodowany tym ze uzylem funkcji Input do odczytu i dlatego ustawia mi kolejne wartosci odzielone przecinkiem jeden pod drugim Co wy o tym sadzicie?

Nie wiem tez jak uzyc zwyklej funkcji Input pobiera ona bowiem diwe wiadomosci:
- liczbe znakow do zwrocenia
- numer otwartego pliku
Tyle tylko ja nie wiem ile znakow bedzie w kazdej linijce wiec ta funkcja chyba odpada?

[Post edytowany dnia 15-06-2004 01:31 przez andrey]


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

15-06-2004 00:58
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003

Nie analizowalem kodu programu do konca, ale chyba w 10 linijce (i w 24) jest blad.
Polecenie input #1,t odczytuje dane do PRZECINKA (bo przecinek rozdziela dane )

Powinienes odczytywac dane poleceniem :
Line Input #1,t '- odczytuje cala linie (nie pomijajac przecinkow)
Tylko nie wiem jak to wplynie na reszte kodu programu - nie moge tego przeanalizowac (brak czasu) , ale mysle ze naprowadzilem cie na TROP

15-06-2004 01:18
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Dziękuję Knihgt Lore"FC zupełnie zapomniałem o tej funkcji teraz wszystko śmiga jak należy
Pozdrawiam Andrzej


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

15-06-2004 01:34
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003

Nie ma problemu.. Jezeli widze blad to daje odpowiedz (lub jezeli przypuszczam gdzie jest blad), a jak nie znam odpowiedzi to szukam rozwiazania ( jednak brak czasu ogranicza moje mozliwosci ). Staram sie pomoc innym na tym forum poniewaz sam dostalem wiele odpowiedzi na moje pytania (nie koniecznie wprost - SZUKAJ - to skarbnica wiedzy )

15-06-2004 01:53
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1