• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Tworzenie łańcucha string

Object Storage Arubacloud
+1 głos
310 wizyt
pytanie zadane 4 marca 2021 w JavaScript przez BartekTsk Nowicjusz (180 p.)
zamknięte 5 marca 2021 przez ScriptyChris

Dzień dobry
Na wstępie zaznaczę, że jestem mocno początkujący, więc pytanie może być trywialne, ale nie mogę znaleźć na nie odpowiedzi wink
Piszę aplikację w oprogramowaniu scada w javascript. W danym zagadnieniu pobieram wartość liczbową z bazy danych i zapisuję ją jako string.

var sVal = Pm.StringFormat("%03d", nowawartosc);

Następnie chciałbym w pętli, pobierając tak i tworząc stringi, dodawać je do zmiennej, w formie "wyrażenia łańcuchowego?". Mianowicie, aby móc utworzyć z nich jeden string w postaci : "wartość1; wartość2; wartość3...".
Szukam tylko funkcji, która pozwoli mi łączyć stringi w jeden, całą pętlę i resztę oczywiście będę sam rozwiązywał.
Z góry dziękuję za pomoc angel

komentarz zamknięcia: Problem rozwiązany w komentarzu
komentarz 4 marca 2021 przez ScriptyChris Mędrzec (190,190 p.)

Co znajduje się w zmiennej sVal?

komentarz 4 marca 2021 przez BartekTsk Nowicjusz (180 p.)
przeniesione 4 marca 2021 przez ScriptyChris
var x;
for (x = 0; x < 5; x++)
{
		var w00 = pMe.Pm("../../Folder/PmaAdo").Methods.TableGetRows("select max(mod00_wt_h) from workingtime where wtdate <= '" + (x+2017) + "-01-01'"); //pobranie wartości przez zapytanie sql
		var w01 = pMe.Pm("../../Folder/PmaAdo").Methods.TableGetRows("select max(mod00_wt_h) from workingtime where wtdate <= '" + (x+2018) + "-01-01'"); //pobranie wartości przez zapytanie sql
		var sType0	=	Pm.GetVarType(w00, 1);
		var sType1	=	Pm.GetVarType(w01, 1);
		
			if ((sType0 == "PmArray") && (sType1 == "PmArray"))
			{
			var WartoscLiczbowa = (w01.GetItem(0, 0)) - (w00.GetItem(0, 0)); //wartość wymagana jest wynikiem odejmowania dwóch wartości, co wynika z budowy tablicy w bazie danych
			var WartoscString = Pm.StringFormat("%03d", WartoscLiczbowa); //tworzę string z wartości liczbowej

//znalazłem taką metodę, aby utworzyć array i następnie z tego ewentualnie łańcuch tekstowy

			var PustyString;
			var a1 = Pm.CreatePmArray().Array1(Pustystring);
			var a2 = Pm.CreatePmArray().Array1(WartoscString);
			var NapelnianyString = a1.Insert((x+1), a2, 1);
			
			return NapelnianyString;

			}
				else
			{
				Pm.Debug("Cos nie jest tablica: " + sType0 + ", " + sType1);
				Pm.Debug(w00, 1);
				Pm.Debug(w01, 1);
			}
			
}
return;

Próbuję w taki sposób to ugryźć, ale coś nie działa.

komentarz 4 marca 2021 przez Author[] Gaduła (3,130 p.)
Nie jestem pewien czy o to ci chodzi: let ciag=""; while(nowawartosc!=undefined) ciag+=Pm.StringFormat("%03d", nowawartosc)+";";
komentarz 4 marca 2021 przez BartekTsk Nowicjusz (180 p.)

@ScriptyChris, pojedynczy string, w kodzie powyżej zmieniłem tę nazwę na "WartoscString"

komentarz 4 marca 2021 przez ScriptyChris Mędrzec (190,190 p.)

Nie wystarczy użyć po prostu operatora += do doklejenia nowego ciągu znaków do zmiennej?

komentarz 4 marca 2021 przez BartekTsk Nowicjusz (180 p.)
przeniesione 4 marca 2021 przez ScriptyChris
Użyłem tej funkcji, którą zaproponował Author[], ale do zmiennej ciąg przypisuje się zawsze kolejna wartość z "nowawartosc". Nie dodają się kolejne w formie stringa, a zawsze wartość jest zastępowana przez następną.
komentarz 4 marca 2021 przez BartekTsk Nowicjusz (180 p.)
		if ((sType0 == "PmArray") && (sType1 == "PmArray"))
		{
			var WartoscLiczbowa = (w01.GetItem(0, 0)) - (w00.GetItem(0, 0));
			Pm.Debug(WartoscLiczbowa);
			
			var ciag = "" ;		
		        ciag += Pm.StringFormat("%03d", WartoscLiczbowa)+";";

		        Pm.Debug(ciag);

			}
				else
			{
				Pm.Debug("Cos nie jest tablica: " + sType0 + ", " + sType1);
				Pm.Debug(w00, 1);
				Pm.Debug(w01, 1);
			}
			
}

 

komentarz 4 marca 2021 przez BartekTsk Nowicjusz (180 p.)

Sprawa rozwiązana! Przeniosłem var ciag = "" ; przed pętle i problem rozwiązany.
Przez pomyłkę w każdej pętli zerowałem stringa.
Błąd amatora wink

Dziekuję wszystkim za pomoc!

komentarz 4 marca 2021 przez VBService Ekspert (252,740 p.)

Przy okazji, cel edukacyjno-informacyjny: Co to jest SCADA?

Podobne pytania

0 głosów
1 odpowiedź 107 wizyt
pytanie zadane 5 października 2019 w C i C++ przez amtrax Dyskutant (9,630 p.)
0 głosów
1 odpowiedź 288 wizyt
pytanie zadane 3 marca 2022 w Java przez coriver Nowicjusz (170 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...